我有一个包含超过4000列和3790行的数据框。列代表公司,并为他们排列每日观察数据。 3790行意味着每年观察15年。现在我想计算每列的每日观察值等于或超过100,加上15年样本的正值,即从2000年1月到2014年12月。简而言之,我想从我的样本中筛选出来自3790的积极观察结果少于100的公司。 我的数据结构是错误的,因为公司在不同的时间点列出。例如,公司在2003年上市,因此,2003年之前的所有新的国家。 我按如下方式说明了我的数据帧的结构:
Date A B C
30/12/1999 79.5 325 NA
04/01/2000 79.5 325 NA
05/01/2000 79.5 322.5 NA
06/01/2000 79.5 327.5 NA
07/01/2000 79.5 327.5 NA
10/01/2000 79.5 327.5 NA
11/01/2000 79.5 327.5 NA
12/01/2000 79.5 331.5 NA
13/01/2000 79.5 334 NA
14/01/2000 79.5 334 NA
17/01/2000 94.5 350 NA
18/01/2000 95.5 351.5 NA
19/01/2000 94.5 352.5 NA
20/01/2000 97.5 352.5 NA
21/01/2000 97.5 352.5 NA
24/01/2000 97.5 352.5 NA
25/01/2000 97.5 352.5 NA
我很感谢你在这方面的帮助。
答案 0 :(得分:1)
我们可以使用Filter
Filter(function(x) sum(x>0 & !is.na(x)) > 100, df1)