更新时间:2023-02-21 12:43:30
由于agstudy暗示 blat $ LRwAvg < - as.character(blat $ LRwAvg)
在循环之前修复它
blat $ meanLRwAvg< ; - blat $ gtFrqAvg#或数据框中的其他一些等长的变量
blat $ LRwAvg< - as.character(blat $ LRwAvg)
for(i in 1:50){$ b $通过< - as.numeric(unlist(strsplit(blat $ LRwAvg [i],\\:)))
blat $ meanLRwAvg [i] = mean(y)
}
This works
x <- "0.466:1.187:2.216:1.196"
y <- as.numeric(unlist(strsplit(x, ":")))
Values of blat$LRwAvg
all look like X
above but this doesn't work
for (i in 1:50){
y <- as.numeric(unlist(strsplit(blat$LRwAvg[i], "\\:")))
blat$meanLRwAvg[i]=mean(y)
}
Because of:
Error in strsplit(blat$LRwAvg[i], "\:") : non-character argument
It doesn't matter if I have one, two or null backslashes.
What's my problem? (Not generally, I mean in this special task, technically)
As agstudy implied blat$LRwAvg <- as.character(blat$LRwAvg)
before loop fixed it
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)
}