在数据框的单列中分解分类变量向量?

Factoring categorical variable vectors in a single column of a data frame?

我正在导入一个数据集,其中有一列类别为 "PR"、"CG"、"SH"、"CF"、"SC", "PI"、"PA"。但是,某些行具有多个值(例如 PR、CG)。我能够使用 FFG=str_split(FFG,pattern=",") 将这些字符串拆分成列表,但是当我尝试使用 df<-df%>%(FFG=col_factor(水平=c("PR","CG","SH","CF","SC", "PI","PA"))) 我得到 "Error in function_list[k] : attempt to apply non-function" 回来了。我是 R 的新手,所以如果我错过任何重要信息,请告诉我。任何建议都会非常有帮助,谢谢!

一种选择是使用 separate_rows 拆分 'FFG' 列,然后转换为 factor 并指定 levels

library(dplyr)
library(tidyr)
df %>%
    separate_rows(FFG, sep=",") %>%
    mutate(FFG = factor(FFG, levels=c("PR","CG","SH","CF","SC","PI","PA")))