[英]Categorize categorical data R
我正在尝试对一列分类数据进行分类
current |desired
| DN974 | a |
| DN469B | a |
| DN469W;DN469E | b |
| DN80 | b |
| EZDH01 | c |
| DN971 | c |
我尝试了什么:
a <- c("DN974", "DN469B", "DN469W;DN469E", "DN80", "EZDH01", "DN971")
df <- data.frame(a)
df <- mutate(df, a=if_else((a=="DN974" | a=="DN469B"), "a",
(if_else(a=="DN469W;DN469E" | a=="DN80"), "b", "c")))
我正在尝试使用 if_else function,但无法使其正常工作。 我收到错误Error: unexpected ',' in: "df <- mutate(df, a=if_else((a=="DN974" | a=="DN469B"), "a", (if_else(a=="DN469W;DN469E" | a=="DN80")
我使用的是正确的 function 吗,我做错了什么? 谢谢
嵌套的ifelse
不是一个好主意,因为它们往往不可读并且更容易出现错误。 使用case_when
。
suppressPackageStartupMessages(library(dplyr))
a <- c("DN974", "DN469B", "DN469W;DN469E", "DN80", "EZDH01", "DN971")
df <- data.frame(a)
df <- df %>%
mutate(a = case_when(
a %in% c("DN974","DN469B") ~ "a",
a %in% c("DN469W;DN469E", "DN80") ~ "b",
TRUE ~ "c"
))
df
#> a
#> 1 a
#> 2 a
#> 3 b
#> 4 b
#> 5 c
#> 6 c
由reprex package (v2.0.1) 创建于 2022-04-25
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.