R:如何编写一个函数来对特定列的值进行求和,并在满足某些条件时报告行号?

R:如何编写一个函数来对特定列的值进行求和,并在满足某些条件时报告行号?,r,function,loops,if-statement,datatable,R,Function,Loops,If Statement,Datatable,我不熟悉R和专门编程函数。因此,如果您能帮助我理解这些概念,我将不胜感激 我想知道如何编写函数来执行以下操作: 1-添加某些变量的值(列)逐行(逐行)和 2-如果值的和大于100>100 3-然后,停止并报告从乞讨到满足标准的所有行(如果我理解的话,总数,它看起来并不复杂。在base R中 DT[cumsum(DT$Var2) < 100, ] DT[cumsum(DT$Var2)

我不熟悉
R
和专门编程
函数
。因此,如果您能帮助我理解这些概念,我将不胜感激

我想知道如何编写
函数来执行以下操作:

1-
添加
某些
变量的值
(列)
逐行(逐行)

2-如果值的
大于100<代码>>100


3-然后,
停止
并报告从乞讨到满足标准的所有行(如果我理解的话,总数,它看起来并不复杂。在
base R

DT[cumsum(DT$Var2) < 100, ]
DT[cumsum(DT$Var2)<100,]
作为一个函数,这可以如下所示。请注意,为了使其更具可读性,我已将上面的代码分为两行。大约6个月后,它将支付

keep_below <- function(x, column = "Var2", threshold = 100){
    inx <- cumsum(x[[column]]) < threshold
    x[inx, ]
}

keep_below(DT)

保持在下面如果我理解的话,它看起来并不复杂

DT[cumsum(DT$Var2) < 100, ]
DT[cumsum(DT$Var2)<100,]
作为一个函数,这可以如下所示。请注意,为了使其更具可读性,我已将上面的代码分为两行。大约6个月后,它将支付

keep_below <- function(x, column = "Var2", threshold = 100){
    inx <- cumsum(x[[column]]) < threshold
    x[inx, ]
}

keep_below(DT)

cumsum
是我不知道的问题。如果可能的话,我也可以问你,帮助我知道,不管
cumsum
,我如何通过编写
函数来实现这一点。丹尼尔:好的,你是对的,我忘记了你问题的那一部分。我会测试它,然后编辑我的答案。请稍等。非常感谢。
cumsum
是我不知道的一个。我也可以问你,如果可能的话,请帮助我知道,不管
cumsum
,我如何通过编写
函数来做到这一点。丹尼尔:好的,你说得对,我忘记了你问题的那一部分。我会测试它,然后编辑我的答案。请稍等。