我有以下数据:
dataframe = A
1 2 3 4 5
0 1 0 0 0
1 0 0 0 0
0 0 0 1 0
我想为每一行计算sum(colnum * value(column))
。
我的代码:
num <- apply(A, 1, function(x){
sum <- 1 * x[1] + 2 * x[2] + 3 * x[3] + 4 * x[4] + 5 * x[5]
return(sum)
})
或者可以使用for
循环实现:
num <- apply(A, 1, function(x){
sum <- 0
for (i in 1:5){
sum = sum + (i * x[i])
}
return(sum)
})
有没有更好的方法来实现上述内容而不使用for
循环或自己编写整个代码。