【发布时间】:2021-03-23 18:17:51
【问题描述】:
在 Iris 数据集中,Species 是一个具有 3 个级别的因子变量(“setosa”“versicolor”“virginica”)。 我想创建 3 个名为 ("setosa" "versicolor" "virginica") 的附加列,其中 False 和 True 作为每列的逻辑因子变量。 简而言之:我想将 Iris 数据集中变量 Species 的级别分成 3 个新列作为逻辑变量。我的代码有效,但我想知道是否有更直接的方法:
df <- iris %>%
select(Species) %>%
mutate(setosa = case_when(Species=="setosa" ~ 1,
TRUE ~ 0),
versicolor = case_when(Species=="versicolor" ~ 1,
TRUE ~ 0),
virginica = case_when(Species=="virginica" ~ 1,
TRUE ~ 0),
)
df$setosa <- as.logical(df$setosa)
df$versicolor <- as.logical(df$versicolor)
df$virginica <- as.logical(df$virginica)
【问题讨论】: