如何在R中将大数据帧拆分为较小的数据帧?
处理大数据帧不是一件容易的事,因此我们可能希望将其拆分为一些较小的数据帧。这些较小的数据帧可以基于某些条件(例如因子变量的级别)或在某些其他条件下从大型数据帧中提取。这可以通过使用拆分功能来完成。
示例
请看以下数据帧-
> set.seed(1)> Grades<-rep(c("A","B","C","D","E"),times=10)
> Age<-sample(1:30,50,replace=TRUE)
> Category<-sample(1:10,50,replace=TRUE)
> df<-data.frame(Grades,Age,Category)
> head(df,20)
Grades Age Category
1 A 25 6
2 B 4 9
3 C 7 8
4 D 1 9
5 E 2 7
6 A 29 8
7 B 23 6
8 C 11 10
9 D 14 7
10 E 18 3
11 A 27 10
12 B 19 6
13 C 1 8
14 D 21 2
15 E 21 2
16 A 10 6
17 B 22 6
18 C 14 1
19 D 10 3
20 E 7 3
根据等级划分数据框-
> Split_based_on_Grades<-split(df,f=df$Grades)> Split_based_on_Grades
$A
Grades Age Category
1 A 25 6
6 A 29 8
11 A 27 10
16 A 10 6
21 A 9 8
26 A 25 7
31 A 10 9
36 A 1 1
41 A 10 7
46 A 20 10
$B
Grades Age Category
2 B 4 9
7 B 23 6
12 B 19 6
17 B 22 6
22 B 15 6
27 B 14 1
32 B 30 7
37 B 20 5
42 B 6 7
47 B 26 10
$C
Grades Age Category
3 C 7 8
8 C 11 10
13 C 1 8
18 C 14 1
23 C 21 7
28 C 5 4
33 C 25 4
38 C 3 6
43 C 15 3
48 C 12 7
$D
Grades Age Category
4 D 1 9
9 D 14 7
14 D 21 2
19 D 10 3
24 D 5 6
29 D 5 8
34 D 12 7
39 D 6 1
44 D 20 6
49 D 25 3
$E
Grades Age Category
5 E 2 7
10 E 18 3
15 E 21 2
20 E 7 3
25 E 9 8
30 E 2 9
35 E 15 6
40 E 10 9
45 E 28 2
50 E 23 2
现在我们可以访问每个成绩,如下所示-
> Split_based_on_Grades[[1]]Grades Age Category
1 A 25 6
6 A 29 8
11 A 27 10
16 A 10 6
21 A 9 8
26 A 25 7
31 A 10 9
36 A 1 1
41 A 10 7
46 A 20 10
> Split_based_on_Grades[[4]]
Grades Age Category
4 D 1 9
9 D 14 7
14 D 21 2
19 D 10 3
24 D 5 6
29 D 5 8
34 D 12 7
39 D 6 1
44 D 20 6
49 D 25 3
以上是 如何在R中将大数据帧拆分为较小的数据帧? 的全部内容, 来源链接: utcz.com/z/316216.html