以下是我试图操纵的表格:
colnames sampA sampB
#1 conA conB
#2 1.1 4.4
#3 2.2 5.5
#4 3.3 6.6
我想为$ sampB中的每个数字计算log2(x(1-x))。到目前为止,这是我的代码:
DF[-1,3] <- apply(DF[-1,]$sampB,1,function(x) log2(x(1-x)))
然后我收到了错误消息:
dim(X) must have a positive length
答案 0 :(得分:0)
您不应该apply()
,因为log2()
已经过矢量化。试试这个
x <- as.numeric(as.character(DF$sampB[-1]))
log2(x * (1 - x))
我取消了第一个元素因为我不确定那个conB
部分是什么(现在你已在评论中确认了)。我还怀疑该列可能是一个因素(因为conB
),所以我将列包裹在as.numeric(as.character(...))
中。这可能没有必要,但比抱歉更安全。