r - 查找数据框中的第一个非零出现

标签 r

我有按帐户ID进行销售的时间序列。要计算平均增长率,我需要提取每个ID销售额不为零的第一个月。由于可以在不同的时间建立该帐户,因此我需要在帐户中首次动态确定sales> 0的时间。

该行的索引足以让我传递给计算增长的函数。因此,我希望通过帐户ID获得以下结果:

54 - [1]
87 - [4]
95 - [2]

I tried `apply(df$Sales,2,match,x>0)`  but this doesn't work.

有指针吗?或者,是否有更简单的方法来使用此数据集计算CAGR?

提前致谢!
CalendarMonth   ID  Sales
8/1/2008    54  6692.60274
9/1/2008    54  6476.712329
10/1/2008   54  6692.60274
11/1/2008   54  6476.712329
12/1/2008   54  11098.60822
7/1/2008    87  0
8/1/2008    87  0
9/1/2008    87  0
10/1/2008   87  18617.94155
11/1/2008   87  18017.36279
12/1/2008   87  18617.94155
1/1/2009    87  18617.94155
2/1/2009    87  16816.20527
7/1/2008    95  0
8/1/2008    95  8015.956284
9/1/2008    95  0
10/1/2008   95  8015.956284
11/1/2008   95  6309.447514
12/1/2008   95  6519.762431
1/1/2009    95  6519.762431

最佳答案

这对您有帮助吗?

tapply(df$Sales, df$ID, function(a)head(which(a>0),1))

您上面的数据框df在哪里?

如果您想要整个行而不只是索引,这可能会有所帮助:
lapply(unique(df$ID),function(a) head(subset(df,ID==a & Sales>0),1))

关于r - 查找数据框中的第一个非零出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786281/

相关文章:

java - 为什么我在 R 和 Java 中得到简单线性回归的截距值不同?

r - 使用 R 添加谷歌瓷砖

r - 从 data.frame 中的现有变量创建几个新的派生变量

r - 在 .Rnw 中包含 rgl 交互图(pdf 输出)

r - 数据帧中非唯一元素的索引

r - R 中是否有函数 interp1 的多变量版本?

重新排序数据帧以保持一致

r - 从 R 中的数据框创建词云

r - 使用 R 使用随机森林时出现错误

r - 多组密度图的交集