使用 str_replace_all 时缺少观察结果
Missing observations when using str_replace_all
我有一个地图数据集,使用以下内容:
worldMap_df <- map_data("world") %>%
rename(Economy = region) %>%
filter(Economy != "Antarctica") %>%
mutate(Economy = str_replace_all(Economy,
c("Brunei" = "Brunei Darussalam",
"Macedonia" = "Macedonia, FYR",
"Puerto Rico" = "Puerto Rico US",
"Russia" = "Russian Federation",
"UK" = "United Kingdom",
"USA" = "United States",
"Palestine" = "West Bank and Gaza",
"Saint Lucia" = "St Lucia",
"East Timor" = "Timor-Leste")))
有许多国家(在 Economy
下)我正在尝试使用 str_replace_all 来连接。一个例子是观察 Economy
是 "Trinidad" 或 "Tobago".
我使用了以下内容,但这似乎只是部分重新标记观察结果:
trin_tobago_vector <- c("Trinidad", "Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, trin_tobago_vector, "Trinidad and Tobago")
但是,某些观察结果仍然 特立尼达和多巴哥 在 Economy
之下,而其他观察结果仍然 特立尼达 或 多巴哥。谁能看出我在这里做错了什么?
您向 str_replace_all
提供了一个矢量模式:trin_tobago_vector
。然后它将遍历您的 'Economy' 列并检查第一个元素 "Trinidad",第二个元素 "Tobago",第三个 "Trinidad",依此类推。您应该分两步进行替换:
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, "^Trinidad$", "Trinidad and Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, "^Tobago$", "Trinidad and Tobago")
或使用命名向量:
trin_tobago_vector <- c("^Trinidad$" = "Trinidad and Tobago", "^Tobago$" = "Trinidad and Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, trin_tobago_vector)
模式向量中的 ^
和 $
确保仅替换文字字符串 "Trinidad"
和 "Tobago"
。
我有一个地图数据集,使用以下内容:
worldMap_df <- map_data("world") %>%
rename(Economy = region) %>%
filter(Economy != "Antarctica") %>%
mutate(Economy = str_replace_all(Economy,
c("Brunei" = "Brunei Darussalam",
"Macedonia" = "Macedonia, FYR",
"Puerto Rico" = "Puerto Rico US",
"Russia" = "Russian Federation",
"UK" = "United Kingdom",
"USA" = "United States",
"Palestine" = "West Bank and Gaza",
"Saint Lucia" = "St Lucia",
"East Timor" = "Timor-Leste")))
有许多国家(在 Economy
下)我正在尝试使用 str_replace_all 来连接。一个例子是观察 Economy
是 "Trinidad" 或 "Tobago".
我使用了以下内容,但这似乎只是部分重新标记观察结果:
trin_tobago_vector <- c("Trinidad", "Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, trin_tobago_vector, "Trinidad and Tobago")
但是,某些观察结果仍然 特立尼达和多巴哥 在 Economy
之下,而其他观察结果仍然 特立尼达 或 多巴哥。谁能看出我在这里做错了什么?
您向 str_replace_all
提供了一个矢量模式:trin_tobago_vector
。然后它将遍历您的 'Economy' 列并检查第一个元素 "Trinidad",第二个元素 "Tobago",第三个 "Trinidad",依此类推。您应该分两步进行替换:
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, "^Trinidad$", "Trinidad and Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, "^Tobago$", "Trinidad and Tobago")
或使用命名向量:
trin_tobago_vector <- c("^Trinidad$" = "Trinidad and Tobago", "^Tobago$" = "Trinidad and Tobago")
worldMap_df$Economy <- str_replace_all(worldMap_df$Economy, trin_tobago_vector)
模式向量中的 ^
和 $
确保仅替换文字字符串 "Trinidad"
和 "Tobago"
。