r - 转换 R 中的格式(大量数据)
问题描述
我仍然是 R 的新用户,我知道将宽格式转换为长格式有很多问题。但是,我没有得到我想要的结果。我尝试使用 reshape、tidyr,但是,我仍然没有得到我想要的结果。
我的数据如下所示(它只是 N 的一部分)
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 i21 i22 i23 i24 i25 i26 i27
207 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1
334 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
344 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1
432 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1
616 0 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1
667 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
我的理想数据集
0 207 i1 => the observation of the 207th student at the first item.
1 207 i2
0 207 i3
. . 有人可以帮我编码吗?先感谢您。
解决方案
一种选择是创建一个行名列,然后用于pivot_longer
创建一个 3 列 data.frame,其中行名、列名和值作为三列
library(dplyr)
library(tidyr)
as.data.frame(m1) %>%
rownames_to_column('rn') %>%
pivot_longer(cols = -rn)
推荐阅读
- git - 在 Azure DevOps 中重用标签
- c# - C# EF Core QueryableExtensions.FirstOrDefaultAsync 奇怪的行为
- java - 如何获得与 sparkWebUi 相同的真实流程
- php - PHP 错误:在 Codeigniter 中只能通过引用传递变量
- database - 一个额外的列,用于解释同一行中的值何时更新
- python - 如何在 webdriver selenium google chrome 中找到没有 id、name 和 xpath 的元素
- python - 如何从源代码构建 MultiNEAT?
- java - FIX 市场数据、QuickFIX 还是其他?
- java - spring boot如何改变默认的classloader使用setContextClassLoader?
- blazor - 如何获取服务器端 Blazor 应用程序的基本 URL