我的数据矩阵(data
)为54675 obs。 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。
由于
答案 0 :(得分:3)
我的第一个想法是你得到了一个字符矩阵并且需要:
as.numeric(data.matrix.2[ , -(1:8) ])
...但data.matrix()应强制转换为'数字'模式。哦,不,你去吧。你没有使用data.matrix函数....所以最好不要使用名称“data.matrix”,因为这也是R函数的名称。
您正在使用“[,]”,因此您对数据对象的假设可能存在缺陷。必须有一列数据在剩余的162列中创建为因子或字符。你需要运行str(data.matrix)来查看它/它们是哪一个。