我目前正在尝试,毫无用处,找到一种方法来总结我每个月(M1,M2等)的数据帧(余额)的一列 - 如果金额每个月的值高于某个值(例如,小于1)。
我尝试了循环和lapply公式,但是得到各种错误,如下所示。不幸的是,由于DF太大,我无法手动执行此操作。
这是我到目前为止尝试过的事情,也是一个示例DF:
df["<=1M",] <- for (i in 1:ncol(df)){for (j in 1:nrow(df)){sum(df$Balance[which(df[i,j]<=1)]}}
df["<=1M",] <- lapply(df, function(i) sum(df$Balance[cumulative[i,1:ncol(df)] <= 1]))
M1 M2 M3 M4 M5 Balance
0 0 0 1 2 100
1 2 2 3 3 200
0 0 0 0 0 200
1 1 1 1 1 200
1 2 3 4 5 250
任何提示或建议都将不胜感激!
我们可以尝试
as.vector(sapply(df[1:5], function(x) sum(df$Balance[x <=1])))
#[1] 950 500 500 500 400
或使用vectorized
方法
colSums(df$Balance*(df[1:5] <=1))
# M1 M2 M3 M4 M5
#950 500 500 500 400