我有一个调查数据,其中包含文本答案,分类变量和数字。
[转换为大熊猫的数据框,但问题是多选列,有时具有多个分类变量,因为调查被设计为“选择所有适用项”。
例如:
ID Category Num1 Num2 Num3
1 A, B, C 1 1 1
2 B, C, D 1 0 1
3 A, C 1 1 1
4 A 0 1 1
5 A, C, D 0 1 1
我正在尝试将这些类别与数字变量相关联。
比方说,A的存在等于Num1的值。
但是当我使用数据框时,Python(和R)将例如[A,B,C]视为另一个类别,将整个单元格识别为该类别。
我认为我需要一种方法(以隐藏方式)解析(爆炸?)值,然后再输入统计分析命令。
我该如何解决这个问题?
如果您的数据帧称为df
,则可以像这样测试Category
中是否存在“ A”:
grepl("A", as.character(df$Category))
#> [1] TRUE FALSE TRUE TRUE TRUE
如果您希望TRUE和FALSE分别为1和0,则只需执行以下操作:
grepl("A", as.character(df$Category)) * 1
#> [1] 1 0 1 1 1