我正在使用包含三列的Census实时工作数据:homeblock,工作块和通勤的人数(S00)。如果我想知道谁在某个地方生活和工作,我只需要做:
sum(data$S00[(data$homeblock == 42101) & (data$workblock == 42101)])
问题是我需要为多个块执行此操作。我知道如何为给定数量的块做到这一点。这就是我为两个街区做的事情:
sum(data$S00[((data$homeblock == 42101000100) | (data$homeblock == 42101000200)) &
((data$workblock == 42101000100) | (data$workblock == 42101000200))]
)
我有很多不同长度的载体,这些载体都有人口普查区数字,我希望无论长度如何都可以。我希望它能像这样工作,但它没有:
sum(data$S00[(data$homeblock == c(42101000100,42101000200,42101000300) &
(data$workblock == c(42101000100,42101000200,42101000300))]
)
任何人都可以帮助我吗?
答案 0 :(得分:3)
您想要%in%
:
sum(data$S00[(data$homeblock %in% c(42101000100,42101000200,42101000300) &
(data$workblock %in% c(42101000100,42101000200,42101000300))])