我目前在R中的多个列中分布数据。我正在寻找一种方法将这些信息作为每个行的向量放入一列。
是否有这样做的功能?
例如,数据如下所示:
DF <- data.frame(id=rep(LETTERS, each=1)[1:26], replicate(26, sample(1001, 26)), Class=sample(c("Yes", "No"), 26, TRUE))
select(DF, cols=c("id", "X1","X2", "X23", "Class"))
如何将列“X1”,“X2”,“X23”合并到包含每个ID的数字类型变量的向量中?
答案 0 :(得分:1)
喜欢这个?
library(reshape2)
melt(df) %>% dcast(id ~ ., fun.aggregate = list)
Using id, Class as id variables
id .
1 A 422, 74, 439
2 B 879, 443, 923
3 C 575, 901, 749
4 D 813, 747, 21
5 E 438, 526, 675
6 F 863, 562, 474
7 G 103, 713, 918
8 H 585, 294, 525
9 I 115, 76, 175
10 J 953, 379, 926
11 K 679, 439, 377
12 L 816, 624, 538
13 M 678, 226, 142
14 N 667, 369, 586
15 O 795, 422, 248
16 P 165, 22, 612
17 Q 294, 476, 746
18 R 968, 368, 290
19 S 238, 481, 980
20 T 921, 482, 741
21 U 550, 15, 296
22 V 121, 358, 625
23 W 213, 313, 242
24 X 92, 77, 58
25 Y 607, 936, 350
26 Z 660, 42, 275
虽然注意事项:我不知道你的最终用例,但是这可能让你觉得你可能不想拥有它。通常更可取的是坚持整洁的数据,例如, https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html