假设我有以下名为df
的 Dataframe :
df<- data.frame("id" = c(1,1,1,2,2,2,3,3,3,4,4,4,5,5),
"relation" =c(1,2,3,1,2,3,1,2,3,1,2,3,1,2),
"salary" =c(20,10,0,30,0,0,10,0,0,40,45,42,15,0))
字符串
我想提取两个数据框架,如果一个家庭是两个收入者或一个收入者。那些家庭成员至少有两个非零工资的家庭被认为是两个收入者,但是那些只有一个非零工资的家庭被认为是一个收入者。我的期望输出如下:
one-earner :
id relation salary
1 2 1 30
2 2 2 0
3 2 3 0
4 3 1 10
5 3 2 0
6 3 3 0
7 5 1 15
8 5 2 0
two-earner:
id relation salary
1 1 1 20
2 1 2 10
3 1 3 0
4 4 1 40
5 4 2 45
6 4 3 42
型
我尝试了下面的代码,但我不知道如何指定不同的非零工资数的家庭:
two_earner <- df %>%
group_by(address) %>%
filter(all(salary >=2 ))
one_earner <- df %>%
group_by(address) %>%
filter(all(salary ==1 ))
型
2条答案
按热度按时间hlswsv351#
字符串
我更喜欢使用基R
split
而不是dRgroup_split()
,因为前者返回组的名称。输出
这将返回一个命名列表:
型
xkftehaa2#
我认为如果
mean(salary > 0) > 1/2
。字符串
型