我使用tapply
函数来获取另一个变量的变量计数。以下是代码行:tapply(vip$VAR1,vip$VAR2,length)
但是,我想只过滤具有值" 1"在vip$VAR1
上,我可以使用tapply
吗?
dat <- read.table(text = " VAR1 VAR2 admit num
0 0 0 7
0 0 1 1
0 1 0 3
0 1 1 7
1 0 0 5
1 0 1 1
1 1 0 0
1 1 1 6", header = TRUE)
答案 0 :(得分:2)
这可以解决这个问题吗?
tapply(dat[dat$VAR1==1,]$VAR1,dat[dat$VAR1==1,]$VAR2,length)
或者更简单(来自Ananda Mahto的评论):
with(dat[dat$VAR1 == 1, ], tapply(VAR1, VAR2, length))