Подтвердить что ты не робот

Несимвольный аргумент в функции разделения строк 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], "\:" ): несимвольный аргумент

Не имеет значения, есть ли у меня одна, две или нулевые обратные косые черты.

В чем моя проблема? (В целом, я не имею в виду техническую технику)

4b9b3361

Ответ 1

Поскольку 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)
}