Подмножество матрицы as.numeric в R для log2

У меня есть матрица данных (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: 

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

Спасибо


person y2p    schedule 18.11.2011    source источник


Ответы (1)


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

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

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

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

person IRTFM    schedule 18.11.2011