【发布时间】:2015-11-02 09:00:54
【问题描述】:
我想计算数组的子集组中大于 R 中该数组中特定值的项目数。请参见下面的示例,每年都有一个外部基准,它是给定的一部分数据(这不是数据集的平均值)。对于给出一年基准的每一行,我想添加一列,其中男性的数量大于基准;以及一列的女性人数,其权重大于基准。
> MyData
year type weight DesiredOutput1 DesiredOutput2
1 1990 Female 78 NA NA
2 1990 Male 74 NA NA
3 1990 Female 80 NA NA
4 1990 Male 90 NA NA
5 1990 Male 94 NA NA
6 1990 Male 70 NA NA
7 1990 Female 65 NA NA
8 1990 Female 61 NA NA
9 1990 benchmark 78 4 1
10 1990 Female 71 NA NA
11 1990 Male 91 NA NA
12 1990 Female 70 NA NA
13 1990 Male 81 NA NA
14 1991 Male 71 NA NA
15 1991 benchmark 79 1 2
16 1991 Female 80 NA NA
17 1991 Female 81 NA NA
18 1991 Male 70 NA NA
19 1991 Male 80 NA NA
20 1991 Female 65 NA NA
21 1992 Female 79 NA NA
22 1992 benchmark 80 3 1
23 1992 Male 81 NA NA
24 1992 Male 82 NA NA
25 1992 Male 86 NA NA
26 1992 Male 80 NA NA
27 1992 Female 81 NA NA
我可以使用以下代码计算给定年份的男性/女性人数:
setDT(MyData)[, Count:=.N, by='year,type']
但我不知道如何包含我只想计算体重大于给定年份基准的男性/女性人数的事实。有没有办法使用对这个基准值的引用?当您想要计算大于固定数字(例如大于 70)的值的数量时,我已经看到了几种解决方案,但是如何与数组中的值进行比较?
【问题讨论】:
-
你能把
dput(MyData)的输出也贴出来吗? -
你为什么要所有这些 NA 回来?您不想要每种类型和年份的计数吗?
标签: r count data.table subset