Подмножество матрицы as.numeric в R для log2 - PullRequest
2 голосов
/ 19 ноября 2011

У меня есть матрица данных (data) 54675 шт. из 170 переменных. И я хочу выполнить

data.matrix.2 <- log2(data[,9:ncol(data)]) 

т.е. для значений из 9-го столбца и далее. 8 столбцов до этого являются символами. Я получаю следующую ошибку

Error in Math.data.frame(data.matrix[, 9:ncol(data)]) : 
  non-numeric variable in data frame: 

Есть ли способ обработать подмножество матрицы как числовое для преобразования журнала.

Спасибо

1 Ответ

3 голосов
/ 19 ноября 2011

Моя первая мысль была о том, что вы получили матрицу символов и вам нужно:

as.numeric(data.matrix.2[ , -(1:8) ])

... но data.matrix () должен принудительно перейти в «числовой» режим. О нет, вот и все. Вы не использовали функцию data.matrix .... поэтому было бы лучше не использовать имя "data.matrix", так как это также имя функции R.

Вы правильно используете "[,]", поэтому ваши предположения о вашем объекте данных, вероятно, ошибочны. В оставшихся 162 столбцах должен быть столбец данных, созданный в виде фактора или символа. Вам нужно запустить str (data.matrix), чтобы увидеть, какие из них это / они.

...