lapply,rowSums和passign参数

时间:2017-05-14 14:31:03

标签: r lapply rowsum

考虑这段代码

lapply(lst,rowSums)

lst五个数据框的列表。例如,每个数据框具有四个列和十个行。我想在每行中添加列的值,但是,我不希望在总和中包含第一列的值。

我可以使用for循环和下面的代码:

lst_sum = list()
for (ii in c(1,5))
{
 dummy <- lst[[ii]]
 dummy <- rowSums(dummy[,seq(2,4,by = 1)])
 lst_sum[[ii]] = dummy 
 }

我想使用lapply或类似函数,因为我认为for循环看起来很丑陋且效率低下。

1 个答案:

答案 0 :(得分:0)

在评论的帮助下,我得到了这个解决方案:

 lapply(lst,function(x) rowSums(x[,seq(2,4,by = 1)]))