计算每行的列值

时间:2015-10-28 22:36:32

标签: r

以下是我试图操纵的表格:

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

1 个答案:

答案 0 :(得分:0)

您不应该apply(),因为log2()已经过矢量化。试试这个

x <- as.numeric(as.character(DF$sampB[-1]))
log2(x * (1 - x))

我取消了第一个元素因为我不确定那个conB部分是什么(现在你已在评论中确认了)。我还怀疑该列可能是一个因素(因为conB),所以我将列包裹在as.numeric(as.character(...))中。这可能没有必要,但比抱歉更安全。