是否有R函数用于比较data.frame中的行?

时间:2019-08-17 13:39:44

标签: r

我汇总了数据集,并希望将行与条件进行比较。我可以使用哪些功能?

数据集来自gapminder,我用两大洲对其进行了过滤。现在,我想按total_pop列比较这些行,并想知道非洲哪一年的总人口比欧洲多。但是我不知道我可以使用哪些功能。

data <- gapminder %>% 
  filter(continent %in% c("Africa", "Europe")) %>% 
  group_by(continent, year) %>% 
  summarise(total_pop = sum(pop))

我期望1987、1992、1997、2002、2007年的产量

1 个答案:

答案 0 :(得分:1)

由于"Africa""Europe"的行数相同,所以我们可以这样做

unique(data$year[data$total_pop[data$continent == "Africa"] > 
       data$total_pop[data$continent == "Europe"]])
#[1] 1987 1992 1997 2002 2007

或者明确地做

Africa_data <- data[data$continent == "Africa",]
Europe_data <- data[data$continent == "Europe",]
Africa_data$year[Africa_data$total_pop > Europe_data$total_pop]
#[1] 1987 1992 1997 2002 2007