考虑这段代码
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
循环看起来很丑陋且效率低下。
答案 0 :(得分:0)
在评论的帮助下,我得到了这个解决方案:
lapply(lst,function(x) rowSums(x[,seq(2,4,by = 1)]))