【问题标题】:How to recode and score multiple variables in R [closed]如何在R中重新编码和评分多个变量[关闭]
【发布时间】:2018-08-21 13:48:15
【问题描述】:

R 新手 - 我认为应该有一个简单的解决方案,但我无法正确解决。

我从一份问卷中获得了我想要评分的 18 个变量(每个变量对应一个问卷项目)的结果。每个变量的结果是“真”、“有时”或“不真”(所有字符)。我想创建一个循环,将所有 18 个变量分别更改为 2、1 和 0 的数字分数,以便我可以为问卷评分。

有人可以建议这样做的方法吗?谢谢!

【问题讨论】:

标签: r recode


【解决方案1】:

您可以像这样使用ifelse 构造:

df$Ques1_Score <- ifelse(df$Ques1 == "True", 2, ifelse(df$Ques1 == "Sometimes", 1, 0))

【讨论】:

    【解决方案2】:

    如果您的 data.frame 被称为 d 并包含一个列 results 您可以执行以下操作

    d$results <- match(d$results, c("Not true", "Sometimes", "True")) - 1
    

    【讨论】:

      【解决方案3】:

      dplyr 的另一个解决方案,如果你不关心这些值(你总是可以减去 1,得到 0-1-2:

      require(dyplr)
      
      dat <- tibble(
        v1 = factor(c("a", "b", "c")),
        v2 = factor(c("a", "b","a"))
      ) # create some simulated data
      
      # A tibble: 3 x 2
        v1    v2   
        <fct> <fct>
      1 a     a    
      2 b     b    
      3 c     a   
      

      转换数字中的每个因子(这将在没有明确命名所有变量的情况下工作):

      dat %>% mutate_if(is.factor, as.numeric) # trasforms factor in numeric
      
      # A tibble: 3 x 2
           v1    v2
        <dbl> <dbl>
      1     1     1
      2     2     2
      3     3     1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-06
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 2019-10-13
        • 2021-02-17
        相关资源
        最近更新 更多