3

我正在使用该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)
4

1 回答 1

2

这会奏效吗?

tapply(dat[dat$VAR1==1,]$VAR1,dat[dat$VAR1==1,]$VAR2,length)

或者更简单的(来自 Ananda Mahto 的评论):

with(dat[dat$VAR1 == 1, ], tapply(VAR1, VAR2, length))
于 2014-04-14T06:06:54.347 回答