33

これは機能します

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)
}

なぜなら:

strsplit(blat$LRwAvg[i], "\:") のエラー: 文字以外の引数

バックスラッシュが 1 つ、2 つ、または null のいずれであっても問題ありません。

私の問題は何ですか?(一般的ではありません。技術的には、この特別なタスクを意味します)

4

1 に答える 1

37

blat$LRwAvg <- as.character(blat$LRwAvg)ループが修正される前にagstudyが暗示したように

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)
}
于 2013-03-15T11:07:13.430 に答える