colnames()似乎按预期枚举每个组的所有列,但class()每个组只显示两行!其中一人是data.frame为什么data.table上的类(.SD)显示“data.frame”?
> dt <- data.table("a"=1:3, "b"=1:3, "c"=1:3, "d"=1:3, "e"=1:3)
> dt[, class(.SD), by=a]
x y z V1
1: 1 1 1 data.table
2: 1 1 1 data.frame
3: 2 2 2 data.table
4: 2 2 2 data.frame
5: 3 3 3 data.table
6: 3 3 3 data.frame
> dt[, colnames(.SD), by=x]
x y z V1
1: 1 1 1 a
2: 1 1 1 b
3: 1 1 1 c
4: 1 1 1 d
5: 1 1 1 e
6: 2 2 2 a
7: 2 2 2 b
8: 2 2 2 c
9: 2 2 2 d
10: 2 2 2 e
11: 3 3 3 a
12: 3 3 3 b
13: 3 3 3 c
14: 3 3 3 d
15: 3 3 3 e
码是不可再现:'data.table( “A”= 1:3中, “b”= 1:3, “C”= 1:3, “d”= 1: 3,“e”= 1:3)[,class(.SD),by = x]' – jangorecki
道歉,应该是= a。现在修复它。 – vijucat