R 如何将具有某个索引的每一行转换为另外两行?
我得到了这个数据集:。我正在用它做一个choropleth,但是有些名称与R 如何将具有某个索引的每一行转换为另外两行?,r,format,R,Format,我得到了这个数据集:。我正在用它做一个choropleth,但是有些名称与world数据框不匹配(来自mapproj,使用ggplot2中的map\u数据转换)。其中一行是Trindad and Tobago,我想用两行(如果有两个匹配项,则为四行;或者六行…)替换它,除了这个细节–名称之外,其他行与原始行相同。一个应命名为Trindad,另一个应命名为Tobago 我想可能有一个函数(如果它是整行,我会使用separate_rows()fromtidyr)听起来像这样:function_nam
world
数据框不匹配(来自mapproj
,使用ggplot2
中的map\u数据转换)。其中一行是Trindad and Tobago
,我想用两行(如果有两个匹配项,则为四行;或者六行…)替换它,除了这个细节–名称之外,其他行与原始行相同。一个应命名为Trindad
,另一个应命名为Tobago
我想可能有一个函数(如果它是整行,我会使用separate_rows()
fromtidyr
)听起来像这样:function_name(“Trindad and Tobago”,sep=“and”)
,但我不知道
这些是我另外加载的包(最好使用这些包,而不是其他包,或者至少是tidyverse
中的某个包):
library(ggplot2)
library(dplyr)
library(tidyr)
library(readr)
library(mapproj)
我意识到我问这个问题的方式不是很清楚,所以如果我能以任何方式提供帮助…如果你能用你想分离的国家的名称创建一个TIBLE(在这里称为新名称\u tbl),你可以将其加入到你的新冠肺炎数据中:
library(tibble)
library(tidyr)
covid_data <- tibble::tribble(
~location, ~cases,
"Afghanistan", 12,
"USA", 34,
"Trindidad and Tobago", 45
)
new_names_tbl <- tibble::tribble(
~location, ~new_names_variable,
"Trindidad and Tobago", "Trinidad",
"Trindidad and Tobago", "Tobago"
)
covid_data %>%
left_join(new_names_tbl, by = c("location" = "location")) %>%
mutate(location = case_when(is.na(new_names_variable) ~ location, TRUE ~ new_names_variable)) %>%
select(-new_names_variable)
库(TIBLE)
图书馆(tidyr)
新冠病毒数据%
mutate(location=case_当(is.na(new_names_variable)~location,TRUE~ new_names_variable))%>%
选择(-new_names_variable)
在这里,我明确指出,coid\u data和新名称\u tbl将由变量位置连接。
这应该可以做到!如果您可以创建一个包含您想要分离的国家名称的TIBLE(这里称为新名称\u tbl),您可以将其加入到您的新冠肺炎数据中:
library(tibble)
library(tidyr)
covid_data <- tibble::tribble(
~location, ~cases,
"Afghanistan", 12,
"USA", 34,
"Trindidad and Tobago", 45
)
new_names_tbl <- tibble::tribble(
~location, ~new_names_variable,
"Trindidad and Tobago", "Trinidad",
"Trindidad and Tobago", "Tobago"
)
covid_data %>%
left_join(new_names_tbl, by = c("location" = "location")) %>%
mutate(location = case_when(is.na(new_names_variable) ~ location, TRUE ~ new_names_variable)) %>%
select(-new_names_variable)
库(TIBLE)
图书馆(tidyr)
新冠病毒数据%
mutate(location=case_当(is.na(new_names_variable)~location,TRUE~ new_names_variable))%>%
选择(-new_names_variable)
在这里,我明确指出,coid\u data和新名称\u tbl将由变量位置连接。
这应该能奏效