【发布时间】:2019-02-25 16:55:34
【问题描述】:
我有一个 68 x 252 的数据框。我试图找出每个向量相对于第一个向量的对数变化。即如果 v1 = 68 和 v2,v3,v4 = 70, 71, 72... 我希望新的数据帧输出为 0, 0.013,0.019,0.025。
data<-data[3:nrow(data)]/data[2:2]
返回
"Ops.data.frame 中的错误(data[3:nrow(data)], data[2:2]) : '/' only 为相同大小的数据帧定义”
我也尝试过制作自己的矩阵
div<-as.vector(data[2:2])
num<-as.matrix(data[3:nrow(data)])
test<-num/div
返回:
num/div 中的错误:不一致的数组
或
log(num/div)
【问题讨论】:
-
试试
data[3:nrow(data),] <- data[3:nrow(data),]/data[2,2] -
谢谢!这些似乎是简单的返回,有没有办法代替日志?
-
我也收到了“警告信息:在 Ops.factor(left, right) 中:‘/’对因子没有意义”
-
也就是说,你有
factor类而不是numeric -
我是否必须将整个 data.frame 转换为矩阵以使所有向量都是数字的?