使用apply函数而不是for循环

时间:2017-02-20 07:26:17

标签: r for-loop apply

我有以下数据:

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循环或自己编写整个代码。

0 个答案:

没有答案