我正尝试使用格式不正确的SAP数据。r - 根据下一行将值移到新列
在此源数据中,当其中一个变量(示例中的“配置文件”)具有更多条目时,它们将被堆叠。这会在下一行中创建一个空的观察值,只有相同的“ID”。
这样:
ID Status Product Profile Description
154 NOCO 3000 A1 failure
215 ATCO 4000 dfect
164 NOCO 2000 A1 dfect
164 A2
875 ATCO 3000 failure
548 NOCO 2000 A1 dfect
548 A2
548 A3
797 NOCO 3000 failure
444 ATCO 4000 failure
我想要做的是将这些堆叠的值,并将其移动到下一列。
ID Status Product Profile Profile2 Profile3 Description
154 NOCO 3000 A1 failure
215 ATCO 4000 dfect
164 NOCO 2000 A1 A2 dfect
875 ATCO 3000 failure
548 NOCO 2000 A1 A2 A3 dfect
797 NOCO 3000 failure
444 ATCO 4000 failure
我该怎么做呢?
谢谢!
编辑:
上面的第一个表的新增dput:
structure(list(ID = c(154L, 215L, 164L, 164L, 875L, 548L, 548L,
548L, 797L, 444L), Status = structure(c(3L, 2L, 3L, 1L, 2L, 3L,
1L, 1L, 3L, 2L), .Label = c("", "ATCO", "NOCO"), class = "factor"),
Product = c(3000L, 4000L, 2000L, NA, 3000L, 2000L, NA, NA,
3000L, 4000L), Profile = structure(c(2L, 1L, 2L, 3L, 1L,
2L, 3L, 4L, 1L, 1L), .Label = c("", "A1", "A2", "A3"), class = "factor"),
Description = structure(c(3L, 2L, 2L, 1L, 3L, 2L, 1L, 1L,
3L, 3L), .Label = c("", "dfect", "failure"), class = "factor")), .Names = c("ID",
"Status", "Product", "Profile", "Description"), class = "data.frame", row.names = c(NA,
-10L))
请提供的数据易于粘贴表格,然后让你的努力。 –
[重新整形数据从长格式到宽格式]的可能重复(http://stackoverflow.com/questions/5890584)? – zx8754
@ zx8754我认为这个问题与你所链接的问题不同,因为它涉及缺失的值,也应该纳入 –