很难为这个问题选择标题,但这里是细节。我们在这个例子中使用mtcars。
让我们将其转换为data.table
m<-as.data.table(mtcars,keep.rownames = T)
我想要的是在一个角色中连接所有具有特定碳水化合物值的汽车。所以我做了以下事情:
A<-m[, list(list(rn)), by = carb]
它部分有效......对于碳水化合物= 4我得到: 马自达RX4,马自达RX4 Wag,Duster 360,Merc 280,Merc 280C,凯迪拉克弗利特伍德,
但那些不是所有的汽车都是碳水化合物= 4 似乎答案被某种方式修剪了......
我希望有人可以帮忙...
答案 0 :(得分:3)
这一行:A<-m[, list(list(rn)), by = carb]
在class“list”的data.table中创建了一个列:
class(A$V1)
[1] "list"
这使得操作变得非常困难。此外,打印时结果会略微修剪。 一个更简单,更好的解决方案 - 连接成一个字符串:
A<-m[, paste(rn,collapse=","),by=carb]
A
carb V1
1: 4 Mazda RX4,Mazda RX4 Wag,Duster 360,Merc 280,Merc 280C,Cadillac Fleetwood,Lincoln Continental,Chrysler Imperial,Camaro Z28,Ford Pantera L
2: 1 Datsun 710,Hornet 4 Drive,Valiant,Fiat 128,Toyota Corolla,Toyota Corona,Fiat X1-9
3: 2 Hornet Sportabout,Merc 240D,Merc 230,Honda Civic,Dodge Challenger,AMC Javelin,Pontiac Firebird,Porsche 914-2,Lotus Europa,Volvo 142E
4: 3 Merc 450SE,Merc 450SL,Merc 450SLC
5: 6 Ferrari Dino
6: 8 Maserati Bora