假设我有以下数据帧名为df
:
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))
我想提取两个数据帧,这样如果一个家庭是双收入家庭或单收入家庭.那些家庭成员至少有两个非零工资的家庭被认为是双收入家庭,但那些只有一个非零工资的家庭是单收入家庭. 我的预期yields 是这样的:
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 ))