如何限制sapply函数中的计算?

时间:2017-12-17 20:04:58

标签: r dataframe filtering sapply

几个星期前,我在根据另一个数据框的信息计算系数时遇到了问题 - the link to the last question。 @PoGibas提供的解决方案非常有效,但是,在每行中定义的时间之后,我必须将计算限制为仅来自数据帧A的10个下一个值。请你帮助我好吗? 我的代码看起来像是@PoGibas:

sapply(1:length(time), function(x) sum(df1[x, which(foo >= time[x])]))

1 个答案:

答案 0 :(得分:1)

以下代码修改现有代码,以便仅选择前10个条目并对其进行求和(如果存在)。如果条目少于10个,则需要na.rm = TRUE。在这种情况下,R会使用NA自动填充“空”索引。

sapply(1:length(time), function(x) sum(df1[x, which(foo >= time[x])][1:10], na.rm = TRUE))