如何在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

回到顶部