这有效
x <- "0.466:1.187:2.216:1.196"
y <- as.numeric(unlist(strsplit(x, ":")))
blat$LRwAvg
的值都与上面的 X
类似,但这不起作用
for (i in 1:50){
y <- as.numeric(unlist(strsplit(blat$LRwAvg[i], "\\:")))
blat$meanLRwAvg[i]=mean(y)
}
因为:
Error in strsplit(blat$LRwAvg[i], "\:") : non-character argument
有一个、两个或空反斜杠都没关系。
我的问题是什么? (不是一般情况下,我的意思是在这个特殊任务中,技术上)
最佳答案
正如agstudy所暗示的blat$LRwAvg <- as.character(blat$LRwAvg)
before循环修复了它
blat$meanLRwAvg <- blat$gtFrqAvg #or some other variable in data frame with equal length
blat$LRwAvg <- as.character(blat$LRwAvg)
for (i in 1:50){
y <- as.numeric(unlist(strsplit(blat$LRwAvg[i], "\\:")))
blat$meanLRwAvg[i]=mean(y)
}
关于string - R字符串分割函数(strsplit)中的非字符参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15430016/