我正在处理 Qualtrics 的调查回复并分析 R 中的数据
15 个问题是多项选择,一个人可以选择多个选项(例如,选择选项 1、3 和 4 的人的输出看起来像“1、3、4”)。 假设我有 4 个问题(而不是 15 个):社交、情感、认知和家庭。如果一个人在社交中选择了 1,2 和 4,输出将为“1,2,4”,如果他只为家庭选择“2”,则输出将为“2”。请参阅下面的示例数据库:
性别 | 社交 | 情绪化 | 认知 | 家庭 |
---|---|---|---|---|
1 | 1 | 1,2,4 | 3 | 2 |
2 | 2 | 3,4 | 4 | 1,2,4 |
1 | 3,4 | 1,3 | 1,2,3 | 1 |
社交/情感/认知/家庭列中的每个数字代表一个类别。如果受访者勾选“1”,我对该类别的回答是肯定的,如果他没有勾选,我对该类别的回答是否定的。因此,这些列中的每个数字实际上是一个二进制响应(正/负)。
因此,为了能够分析数据(卡方),我希望数据框看起来像这样:
性别 | 社交1 | 社交2 | 社交3 | 社交4 |
---|---|---|---|---|
1 | 是 | 不 | 是 | 是 |
2 | 是 | 是 | 不 | 不 |
1 | 不 | 不 | 是 | 不 |
是否有一个函数或一系列函数可以让我这样做?
请注意,我有 15 个问题(即 15 列),所以我更愿意在整个数据框上而不是只在一个问题上做。
我试过这样做(对于每一列):
data<- read.csv("data.csv")
social.data<- data.frame(Sex=c(data$gender),
social=c(data$social),
str_split_fixed(data$social, ',', 3))
R 给我单独列中的数字... 从那里我无法弄清楚如何才能获得我上面描述的所需数据框?