【发布时间】:2017-07-06 22:08:11
【问题描述】:
在 2013 年最后一次使用 R 之后,我再次开始使用它。我已经习惯使用 dplyr,但我遇到了一个简单任务的问题。 我有一张看起来像的桌子
Participant Q1 Q2 Q3 Q4 Q5
1 agree neutral NA Disagree Agree
2 neutral agree NA NA NA
我的目标
Participant Q1 Q2 Q3 Q4 Q5
1 3 2 NA 1 3
2 2 1 NA NA NA
我希望能够将 Q1:Q5 列的分类值更改为数值,但是我看到的所有使用 dplyr 重新编码的示例都适用于行而不是列。 (我可能在示例中遗漏了一些东西)。然后我希望能够选择列 Q1 和 Q2 并对其进行反向编码。
如果可能,我正在尝试在 dplyr 中学习这样做
谢谢
【问题讨论】:
-
数据框是为列操作而构建的。我会说你应该
reshape2::melt或tidyr::gather将你的数据转换成一个长格式,然后像往常一样继续处理,使用公共变量。 -
感谢您的回复。我不确定你所说的可变罪公地是什么意思。我按照你的建议做了'收集(表格,“问题”,“答案”,2:6)',现在我可以使用重新编码来替换我的值答案列,但随后它们被放置在值中而不是在表
-
我的意思是 columns,而不是 commons。
-
同意您的数据不整洁,因此在您使用 tidyr::gather 之前不建议使用 dplyr。我来到这个页面是因为我正在查找新的 dplyr::recode() 函数,一旦你将数据整理成整洁的格式,这可能会有所帮助。