【发布时间】:2020-12-16 14:48:05
【问题描述】:
> l
var1 var2 sum
a 1 0 1
b 56 6 62
c 5 4 9
我想做一些计算并使用计算值创建一个新的 data.frame。计算是将行的每个值除以总和,所以对于a 1/1 和 0/1。
我试过了
l.new <- apply(l,MARGIN = 2,FUN = function(x){x/l$sum})
#Error in x/l$sum : non-numeric Argument for binary operator
l.new <- NULL
for(i in 1/ncol(l)){
a <- i/l$rsum
L2.rel <- rbind(L2.rel,a)
}
#this results in a strange data.frame...
所以澄清一下,我希望l 看起来像这样
var1 var2 sum
a 1 0 1
b 0.903 0.067 62
c 0.556 0.444 9
我看过这个Apply a calculation over every column,但显然它不起作用
【问题讨论】:
-
cbind(l[1:2] / l[, 3], l[3])