在 dplyr 中实现过滤数据的更好方法

Better way to achieve filtering data in dplyr

我有关于 Immigration.Services 的反馈数据,它有很多行,每一行都有一个值("satisfied","Very satisfied"..)和国家名称。我想首先分组以获得超过 1 行的国家/地区数量,然后我想获得 "satisfied" , "distaisfied" ... 每个国家/地区的数量,但仅限于反馈行以上的国家/地区。我按照下面的代码实现了它,但这有一个重复,有没有更好的方法来实现这个?

c <- subset(fd, !is.na(Immigration.Services)  ) %>%
group_by(Origin.Country)  %>%
tally() %>%
filter(n>1)  %>%
select(Origin.Country)

#code to select data for countries required
subset(fd, !is.na(Immigration.Services)  ) %>%
group_by(Origin.Country,Immigration.Services)  %>%
tally() %>%
filter(Origin.Country %in% c[["Origin.Country"]])
c <- subset(fd, !is.na(Immigration.Services)  ) %>%
group_by(Origin.Country)  %>%
tally() %>%
filter(n>1)  %>%
group_by(Origin.Country,Immigration.Services)  %>%
tally()

这会改善情况吗?