【发布时间】:2021-08-22 16:46:19
【问题描述】:
我有一个包含许多变量的数据集,我想对不同变量的不同级别应用不同的条件。
data<- read.table(text="
Group Group2 Census Volume
FolC A 1 0
FolC A 2 0
FolC A 3 0
FolC A 7 0
Fol10 B 1 0.2
Fol10 B 2 0.3
Fol10 B 3 0.8
Fol10 B 7 0
Fol40 C 1 0.1
Fol40 C 2 0.1
Fol40 C 3 0.6
Fol40 C 7 0
FloC D 1 0.1
FloC D 2 0.2
FloC D 3 0.2
FloC D 7 0.1
Flo10 E 1 0.3
Flo10 E 2 0
Flo10 E 3 1
Flo10 E 7 0
", header=T); head(data); tail(data)
我有以下变量:Group(字符串)、Group2(字符串)、Census(数字)、... 我需要的是同时选择: a) 组中人口普查等于“3”的行等于“Fol10” b) 组中人口普查等于“2”的行等于“Flo10” 我尝试了一些不同的代码。我在下面添加了最后一个。
data2<- data %>%
select(Group, Group2,Census,Volume) %>%
filter((Group %in% "Fol10" & Census = 3) |
(Group %in% "Flo10" & Census = 2)); data2
我想要这样的结果
Group Group2 Census Volume
1 Fol10 B 3 0.8
2 Flo10 E 2 0.0
【问题讨论】:
-
嗯,这对我来说似乎是一个工作代码,所以我不明白哪里出了问题。如果您可以分享
data的样本、您获得的输出以及您想要的输出,那么我们可能会为您提供帮助。顺便说一句,您可以将%in%替换为==以获得相同的结果。 -
感谢您的回答。我刚刚更新了问题并添加了一些数据以及我想要的输出。
标签: r filter dplyr multiple-conditions