我有这个数据框:
df=data.frame(student=c(rep("John",6),rep("Meredith",7),rep("Jeremy",5),rep("Audrey",8)),
semester=c(1,2,3,4,5,6, 1,2,3,4,5,6,7, 1,2,3,4,5, 1,2,3,4,5,6,7,8),
addQual=c( 1,0,0,0,1,0, 0,0,0,0,0,0,0, 0,0,1,0,1, 0,0,0,0,0,0,0,0))
它包含学生,他们所有学期以及每个学期是否参加了额外的资格课程(虚拟变量addQual = 1,如果他们接受了它)。 如何才能获得仅包含参加过其他资格课程的学生的数据框dfFilt?
因此,我想要的输出是:
dfFilt=data.frame(student=c(rep("John",6),rep("Jeremy",5)),
semester=c(1,2,3,4,5,6, 1,2,3,4,5),
addQual=c( 1,0,0,0,1,0, 0,0,1,0,1))
dplyr中的溶液是优选的。
答案 0 :(得分:2)
基础R解决方案
MainFragment framgmentInstance=new MainFragment();
this.getSupportFragmentManager().beginTransaction().replace(R.id.content_main,framgmentInstance,"tag").commit();
答案 1 :(得分:1)
在dplyr
:
dfFilt = df %>% group_by(student) %>% filter(sum(addQual)>=1)
student semester addQual
<fctr> <dbl> <dbl>
1 John 1 1
2 John 2 0
3 John 3 0
4 John 4 0
5 John 5 1
6 John 6 0
7 Jeremy 1 0
8 Jeremy 2 0
9 Jeremy 3 1
10 Jeremy 4 0
11 Jeremy 5 1