【问题标题】:Recoding sequence of values重新编码值序列
【发布时间】:2018-09-23 21:03:05
【问题描述】:

喏,

这是我的复制示例。

have <- data.frame("STUDENT"=c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5),
                 "CLASS"=c(10,10,10,30,30,30,50,50,50,70,70,70,90,90,90),
                 "SCORE"=c(1:15))


want <- data.frame("STUDENT"=c(101,101,101,102,102,102,103,103,103,104,104,104,105,105,105),
                   "CLASS"=c(1,1,1,3,3,3,5,5,5,7,7,7,9,9,9),
                   "SCORE"=c(1:15))

所以我想基本上为 STUDENT 和 CLASS 生成不同的数字顺序序列。换句话说,我想重新编码 STUDENT 和 CLASS,以便它们按特定的顺序排列。

我试图做的是

have %>% group_by(id) %>% 
            mutate(1=10,2=30)

但这很乏味,也不起作用。非常感谢!

【问题讨论】:

  • have %&gt;% mutate(STUDENT = STUDENT + 100, CLASS = CLASS / 10) ?

标签: r dplyr recode


【解决方案1】:

我们可以试试

have %>% 
    mutate(STUDENT = factor(STUDENT, labels = 101:105),
           CLASS =  substr(CLASS, 1, 1))

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多