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
,我如何通过编写函数来做到这一点。丹尼尔:好的,你说得对,我忘记了你问题的那一部分。我会测试它,然后编辑我的答案。请稍等。