【问题标题】:How do i create a categorical variable with mutliple values from an existing variable?如何从现有变量中创建具有多个值的分类变量?
【发布时间】:2021-11-06 12:18:37
【问题描述】:

我正在使用 R 中的一个调查数据集,其中询问参与者他们现在的宗教信仰是什么。然而,我只对一个人是否有宗教信仰感兴趣。该问题有 14 个答案类别,类别 1-8,11,13 和 14 是宗教的,类别 9,10 和 12 是非宗教的。如何创建一个新变量,我可以在其中合并这些子类别,以便宗教显示为 1,非宗教显示为 0?我已经用 ifelse 函数试过了,但它并没有真正起作用。

谢谢大家的帮助

【问题讨论】:

标签: r data-cleaning recode


【解决方案1】:

请在下面找到一个使用 data.table 库为您提供解决方案的代表

Reprex

  • 模拟数据
set.seed(58) # set seed to make the reprex reproducible!
df <- data.frame(ID = c(seq(1:100)), # ID of participants
                 Answer_cat = c(sample(1:14, 100, replace = TRUE))) # simulated answers
  • 代码
library(data.table)
setDT(df)[, Religion_or_Not := fifelse(Answer_cat %in% c(9,10,12),0,1)][]
  • 输出
#>       ID Answer_cat Religion_or_Not
#>   1:   1          3               1
#>   2:   2         13               1
#>   3:   3          6               1
#>   4:   4          2               1
#>   5:   5          2               1
#>   6:   6          9               0
#>   7:   7          4               1
#>   8:   8         12               0
#>   9:   9          9               0
#>  10:  10          1               1
#>  11:  11          4               1
#>  12:  12          1               1
#>  13:  13         10               0
#>  14:  14         12               0
#>  15:  15          4               1
#>  16:  16          3               1
#>  17:  17         12               0
#>  18:  18         14               1
#>  19:  19          8               1
#>  20:  20          7               1
#>  21:  21          3               1
#>  22:  22          3               1
#>  23:  23         11               1
#>  24:  24          9               0
#>  25:  25          6               1
#>  26:  26          1               1
#>  27:  27         11               1
#>  28:  28          1               1
#>  29:  29         13               1
#>  30:  30          1               1
#>  31:  31          9               0
#>  32:  32          1               1
#>  33:  33          6               1
#>  34:  34         13               1
#>  35:  35          9               0
#>  36:  36          9               0
#>  37:  37         14               1
#>  38:  38          8               1
#>  39:  39          1               1
#>  40:  40          3               1
#>  41:  41          4               1
#>  42:  42         12               0
#>  43:  43         12               0
#>  44:  44          7               1
#>  45:  45         12               0
#>  46:  46         12               0
#>  47:  47          2               1
#>  48:  48         14               1
#>  49:  49          8               1
#>  50:  50          9               0
#>  51:  51         13               1
#>  52:  52          4               1
#>  53:  53         12               0
#>  54:  54          2               1
#>  55:  55         12               0
#>  56:  56          9               0
#>  57:  57         13               1
#>  58:  58          6               1
#>  59:  59          9               0
#>  60:  60         13               1
#>  61:  61          7               1
#>  62:  62         11               1
#>  63:  63          6               1
#>  64:  64          2               1
#>  65:  65         14               1
#>  66:  66          9               0
#>  67:  67         12               0
#>  68:  68          7               1
#>  69:  69          4               1
#>  70:  70          9               0
#>  71:  71         12               0
#>  72:  72          6               1
#>  73:  73         13               1
#>  74:  74          7               1
#>  75:  75          4               1
#>  76:  76          9               0
#>  77:  77         12               0
#>  78:  78          4               1
#>  79:  79          7               1
#>  80:  80          5               1
#>  81:  81          7               1
#>  82:  82          7               1
#>  83:  83         12               0
#>  84:  84          6               1
#>  85:  85         10               0
#>  86:  86          6               1
#>  87:  87          9               0
#>  88:  88          1               1
#>  89:  89         10               0
#>  90:  90          6               1
#>  91:  91         12               0
#>  92:  92          9               0
#>  93:  93         14               1
#>  94:  94         14               1
#>  95:  95         12               0
#>  96:  96          1               1
#>  97:  97          3               1
#>  98:  98          6               1
#>  99:  99          7               1
#> 100: 100          6               1
#>       ID Answer_cat Religion_or_Not

reprex package (v2.0.1) 于 2021-11-06 创建

【讨论】:

  • 你好@Iena。欢迎来到 SO!我希望这个答案是你所期望的。如果是这样,请将答案标记为已接受,以便其他 SO 用户更容易找到正确答案。如果没有,请告诉我有什么问题。干杯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2019-03-16
  • 2013-08-24
  • 2023-03-09
  • 2021-05-25
  • 1970-01-01
相关资源
最近更新 更多