我正在尝试清理一些输入错误的数据。变量的问题允许从五个选项中选择多个响应,编号为 1 到 5。数据已按以下方式输入(这只是一个示例——实际数据中有更多变量和更多观察值框架):
data
V1
1 1, 2, 3
2 1, 2, 4
3 2, 3, 4, 5
4 1, 3, 4
5 1, 3, 5
6 2, 3, 4, 5
下面是一些重新创建示例数据的代码:
data = data.frame(V1 = c("1, 2, 3", "1, 2, 4", "2, 3, 4, 5",
"1, 3, 4", "1, 3, 5", "2, 3, 4, 5"))
我真正需要的是要更多处理的数据......二进制 - 就像一组“是/否”问题 - 输入一个看起来更像的数据框中:
data
V1.1 V1.2 V1.3 V1.4 V1.5
1 1 1 1 NA NA
2 1 1 NA 1 NA
3 NA 1 1 1 1
4 1 NA 1 1 NA
5 1 NA 1 NA 1
6 NA 1 1 1 1
实际的变量名目前并不重要——我可以很容易地解决这个问题。此外,缺少的元素是“O”、“NA”还是空白并不重要——这也是我以后可以修复的问题。
我已经尝试使用包中的transform
函数reshape
以及使用不同的东西strsplit
,但我无法做我正在寻找的东西。我还查看了有关 Stackoverflow 的许多其他相关问题,但它们似乎并不是完全相同的问题。