web-dev-qa-db-ja.com

R文字列分割関数(strsplit)の非文字引数

これは動作します

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つ、またはヌルのバックスラッシュがあるかどうかは関係ありません。

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

29
AWE

Agstudyはblat$LRwAvg <- as.character(blat$LRwAvg)がループを修正する前に暗示していたので

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