我在data.table中有重复的行 - 请参见下文。一些变量是列表。删除重复行,然后使用数据表按组汇总为一行
ID l29 s14 s2 s7 s71 s91
12345 NULL 3 NULL NULL NULL NULL
12345 NULL NULL 1 NULL NULL NULL
12345 NULL NULL NULL 2 NULL NULL
12345 NULL NULL NULL NULL c(4.5, 8, 9, 10) NULL
12345 NULL NULL NULL NULL c(4.5, 8, 9, 10) NULL
12345 NULL NULL NULL NULL c(4.5, 8, 9, 10) NULL
12345 NULL NULL NULL NULL NULL c(6, 7)
12345 11 NULL NULL NULL NULL NULL
12345 NULL NULL NULL NULL c(4.5, 8, 9, 10) NULL
12345 NULL NULL NULL NULL NULL c(6, 7)
我想上面总结成如下一行:
12345 11 3 1 2 c(4.5, 8, 9, 10) c(6, 7)
有人问我dput数据,我希望这不是吗?
structure(list(SSN_TAX_ID = c("12345", "12345", "12345", "12345",
"12345", "12345", "12345", "12345", "12345", "12345"), L29 = list(
NULL, NULL, NULL, NULL, NULL, NULL, NULL, 11, NULL, NULL),
S14 = list(3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL), S2 = list(NULL, 1, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL), S7 = list(NULL, NULL, 2, NULL, NULL,
NULL, NULL, NULL, NULL, NULL), S71 = list(NULL, NULL,
NULL, c(4.5, 8, 9, 10), c(4.5, 8, 9, 10), c(4.5, 8, 9,
10), NULL, NULL, c(4.5, 8, 9, 10), NULL), S91 = list(
NULL, NULL, NULL, NULL, NULL, NULL, c(6, 7), NULL, NULL,
c(6, 7))), .Names = c("SSN_TAX_ID", "L29", "S14", "S2",
"S7", "S71", "S91"), class = "data.frame", row.names = c(NA,
-10L))
你能dput为例所以它的重现?列表中的“独特”在R中是一团糟,但是'DT [,lapply(.SD,unique)]'可能会做到。 – Frank
@Frank它结合了重复的行,但我也想在一行上的非重复信息。使用你的方法,第一行是它自己的行,因为它不是重复的,重复的行是它自己的行。我如何也包含不重复的行? – user3067851