我怎样才能对其中一个变量进行过滤

时间:2014-04-14 05:43:06

标签: r tapply

我使用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)

1 个答案:

答案 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))