如何从其他两列的值创建因子变量

时间:2016-11-05 21:48:45

标签: r dplyr

我想根据其他两列的值添加新的分类变量。

在下面的示例中,我想使用学期和性别信息创建新变量“simple”。

 semester gender score simple 
 01       F       152    F_01
 02       M       190    M_02

我可以用dplyr执行此操作吗? 欢呼声

2 个答案:

答案 0 :(得分:2)

尝试以下方法:

school_info <- data.frame(semester=c("01","02"), gender = c("F","M"), score = c(152, 190))

school_info <- school_info %>% 
    mutate(simple = paste(gender,semester,sep = "_"))

您可以使用base R而无需外部库:

school_info$simple <- paste(school_info$gender,school_info$semester,sep = "_")

我希望这会有所帮助。

答案 1 :(得分:1)

tidyr中,有unite来连接列

library(tidyr)
school_info %>%
        unite(simple, gender, semester, remove=FALSE)
#   simple semester gender score
#1   F_01       01      F   152
#2   M_02       02      M   190