如何将r中的特定变量分组在一起



我有按大陆分类的全球数据(欧洲、亚洲、非洲、北美洲、南美洲和澳大利亚)。我想把它们分成生态区(即欧亚大陆+非洲、美洲和澳大利亚)。我正在尝试使用dplyr来获取这些数据,但是我失败了。

data <- data.frame(temp = c(1,2,3,4,5),region = c("Europe","Asia","N America", "S America","Australia")

temp    region
1    1    Europe
2    2      Asia
3    3 N America
4    4 S America
5    5 Australia 

我很想得到这样的东西。

temp    region    region_2
1    1    Europe  Eurasia+Af
2    2      Asia  Eurasia+Af
3    3 N America  Americas
4    4 S America  Americas
5    5 Australia  Australia

谢谢你的帮助。

以user438383的评论为基础

library(tidyverse)
data <- data.frame(temp = c(1,2,3,4,5),
region = c("Europe","Asia","N America", "S America","Australia"))

updatedDf <- data %>%
mutate(region_2 = case_when(
region == 'N America'| region == 'S America' ~ "Americas", 
region == 'Asia' | region == 'Africa' | region == 'Europe' ~ 'Eurasia+Africa', 
region == 'Australia' ~ 'Australia', 
TRUE ~ region)
)

您还可以使用str_detect函数来清理美洲代码并消除澳大利亚代码行,因为TRUE ~ region行将处理region和region_2相同的实例

相关内容

  • 没有找到相关文章

最新更新