Statistics 板


LINE

目前我是这样写 但处理一亿多笔资料很辛苦 a <- strsplit(一串字元向量,split="") b <- lapply(a,sort) c <- sapply(b,paste,collapse="") -------------------------------------------------- Request: 字元向量 c("GA","AG","CT") 想排成 c("AG","AG","CT") 1. 向量顺序不变 2. 字串字元按顺序排列 请问有没有快速的 function 可用? -- 祭颂后灵的骑士道与白主教稳守黄金乡 边境兵躁动自高自大妄入堡垒 黑主教冷静人格分裂 笼城王与双子战塔一筹莫展 掌握无限的魔女唤醒躺下的灵魂 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.239.247
1F:推 Wush978:有没有考虑使用python之类的其他语言? 09/24 22:37
2F:→ gsuper:不会写 是有想学 perl 不过没时间 09/24 23:05
3F:推 rockken:order? 09/24 23:41
4F:→ bmka:ACTG排列的可能性有限,直接用if.. then..把"GA"换"AG"就好 09/25 00:31
写法三
5F:推 LITTLEN:先取代再order....gsub function查一下... 09/25 01:26
写法二 gsub 我知道 你说的写法应该是 fx2 <- function(tmp) { tmp <- gsub("CA","AC",tmp) tmp <- gsub("GA","AG",tmp) tmp <- gsub("TA","AT",tmp) tmp <- gsub("GC","CG",tmp) tmp <- gsub("TC","CT",tmp) tmp <- gsub("TG","GT",tmp) return(tmp) } 我等等测试一下时间 感觉是比切开再贴上合理 不过我不太懂要用 order 的逻辑是甚麽
6F:→ clickhere:2. 的用意何在? 比较A/G在字串中出现频率? 有必要paste? 09/25 11:51
A. 因为我不只是要计算 allele frequency 还要计算 Genotype frequency B. 先 paste 好是额外要给网页端做读取 (我是计算端) 不然网页每读一次要重组一次字元很不合理 -------------------------------------------------------------- 现在来测试 1.我原本的写法 2.gsub写法 3.index写法 因为我对 gsub 印象不太好 (有时候速度很慢) -------------------------------------------------------------- 写法一(我目前的写法) fx2 <- function(tmp) ### tmp 是字串向量 { index <- tmp %in% c("CA","GA","TA","GC","TC","TG") if(sum(index)==0){return(tmp)} tmp2 <- tmp[index] tmp2 <- sapply(lapply(strsplit(tmp2,split=""),sort),paste,collapse="") tmp[index] <- tmp2 return(tmp) } -------------------------------------------------------------- 写法二 fx2 <- function(tmp) { tmp <- gsub("CA","AC",tmp) tmp <- gsub("GA","AG",tmp) tmp <- gsub("TA","AT",tmp) tmp <- gsub("GC","CG",tmp) tmp <- gsub("TC","CT",tmp) tmp <- gsub("TG","GT",tmp) return(tmp) } -------------------------------------------------------------- 写法三(猜测大概跟2差不多) fx2 <- function(tmp) { tmp[tmp%in%"CA"] <- "AC" tmp[tmp%in%"GA"] <- "AG" tmp[tmp%in%"TA"] <- "AT" tmp[tmp%in%"GC"] <- "CG" tmp[tmp%in%"TC"] <- "CT" tmp[tmp%in%"TG"] <- "GT" return(tmp) } ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:02) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:11) 资料 423*1094 的 Genotype "DATA" 矩阵 (这是总档案的一部分) 用system.time(apply(data,2,fx2))[3] 写法一(切开再黏合) : 11秒以上 (我的写法超烂) 写法二(gsub) : 0.9秒左右 (LITTLEN) 写法三(index) : 0.2秒左右 (BMKA) 看起来 BMKA 大大的写法乐胜 谢谢大家帮忙 ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:24) 写法三的延伸 : 0.14秒 乾脆连 apply 都不要用最快 DATA[DATA=="CA"] <- "AC" DATA[DATA=="GA"] <- "AG" DATA[DATA=="TA"] <- "AT" DATA[DATA=="GC"] <- "CG" DATA[DATA=="TC"] <- "CT" DATA[DATA=="TG"] <- "GT" ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:43) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:46) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:46) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 14:48) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 15:16) ※ 编辑: gsuper 来自: 140.113.239.247 (09/26 15:19)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP