【发布时间】:2021-07-16 06:52:39
【问题描述】:
在一项调查中,有一个问题是“课程的哪个方面最能帮助您学习概念?选择所有适用的”
回复列表如下所示:
Student_ID = c(1,2,3)
Responses = c("lectures,tutorials","tutorials,assignments,lectures", "assignments,presentations,tutorials")
Grades = c(1.1,1.2,1.3)
Data = data.frame(Student_ID,Responses,Grades);Data
Student_ID | Responses | Grades
1 | lectures,tutorials | 1.1
2 | tutorials,assignments,lectures | 1.2
3 | assignments,presentations,tutorials | 1.3
现在我想创建一个看起来像这样的数据框
Student_ID | Lectures | Tutorials | Assignments | Presentation | Grades
1 | 1 | 1 | 0 | 0 | 1.3
2 | 1 | 1 | 1 | 0 | 1.4
3 | 0 | 1 | 1 | 1 | 1.3
我设法使用 splitstackshape 包将逗号分隔的响应分成列。所以目前我的数据是这样的:
Student ID | Response 1 | Response 2 | Response 3 | Response 4 | Grades
1 | lectures | tutorials | NA | NA | 1.1
2 | tutorials | assignments | lectures | NA | 1.2
3 | assignments| presentation| tutorials | NA | 1.3
但正如我之前所说,我希望我的表格看起来像我在上面展示的方式,在虚拟代码中。我被困在如何进行。也许一个想法是遍历列中的每个观察并将 1 或 0 附加到以讲座、教程、作业、演示文稿作为标题的新数据框?
【问题讨论】:
-
你的数据是这样的吗,竖条和所有东西都在一行上?
-
嗨,不,我很抱歉。我是堆栈交换的新手,我认为它看起来像一个合适的数据框,但最终看起来像那样。现在正在修复它。应该会做完
-
尝试在 .csv 中拍摄您的预期结果,然后将其作为 DF 拉入并打印头部并使用 R 中的输出更新您的帖子。这将有助于更好地可视化它:)
-
@BuffsGrad16 感谢您的意见!我在看到您的评论之前已修复它,但这也会有很大帮助:)
-
@AkselA 现在已修复,对此感到抱歉
标签: r dummy-variable surveymonkey