【发布时间】:2021-01-05 18:59:23
【问题描述】:
我有很多国家的这个专栏。
countries <- c(Germany, France, Japan, China, Angola, Nigeria)
我想创建一个名为continent 的新列,聚合这些地方。例如,我试过这个,但它不起作用:
if (countries == "Germany" | "France" {
countries$continents <- "Europe"
} else if (countries == "Japan" |"China") {
countries$continents <- "Asia"
} else if (countries == "Angola" |"Nigeria") {
countries$continents <- "África"
但是 R 一直说我不允许比较字符串。 也许 dplyr 可能有一个聪明的解决方案,但欢迎任何解决方案。我该怎么做?
【问题讨论】:
-
这篇文章可能会有所帮助:Get continent name from country name in R
-
您需要使用的是
%in%,例如countries %in% c("Germany", "France")。您将逻辑向量 (countries == "Germany") 与字符串"France"进行比较。
标签: r if-statement dplyr