如何限制应用函数中的计算?
How to limit the calculation in a sapply function?
几周前,我在根据另一个数据框的信息计算系数时遇到了问题 - 。
@PoGibas 提供的解决方案效果很好,但是,我必须在每行定义的时间后将计算限制为仅来自数据框 A
的 10 个下一个值。请你帮助我好吗?
我的代码看起来像@PoGibas 提议的那样:
sapply(1:length(time), function(x) sum(df1[x, which(foo >= time[x])]))
以下代码修改了您现有的代码,以便仅选择和汇总前 10 个条目(如果存在)。对于可能少于 10 个条目的情况,需要 na.rm = TRUE
。在这种情况下,R 会自动用 NA
.
填充 "empty" 索引
sapply(1:length(time), function(x) sum(df1[x, which(foo >= time[x])][1:10], na.rm = TRUE))
几周前,我在根据另一个数据框的信息计算系数时遇到了问题 - A
的 10 个下一个值。请你帮助我好吗?
我的代码看起来像@PoGibas 提议的那样:
sapply(1:length(time), function(x) sum(df1[x, which(foo >= time[x])]))
以下代码修改了您现有的代码,以便仅选择和汇总前 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))