基于 R 中的组将带有分组列的数据框转换为列表。

要将具有分组列的数据框转换为基于组的列表,我们可以使用 split 函数。

例如,如果我们有一个名为 df 的数据框,其中包含一个分类列(例如 Group)和一个数值列(例如 DV),那么我们可以使用如下所述的命令将 df 转换为基于 Group 列中的组的列表 -

split(df$DV,df1$Group).

示例 1

以下代码段创建了一个示例数据框 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

df1

创建了以下数据框

  Group Response_var

1     B           4

2     E           3

3     C           9

4     D           4

5     C           5

6     A           4

7     B           5

8     D           9

9     E           4

10    A           5

11    C           2

12    B          11

13    E           5

14    E           6

15    D           1

16    B           4

17    E           2

18    B           2

19    D           4

20    A           7

要根据上面创建的数据框中的 Group 列将 df1 拆分为一个列表,请将以下代码添加到上面的代码段中 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

split(df1$Response_var,df1$Group)

$A

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 4 5 7

要根据上面创建的数据框中的 Group 列将 df1 拆分为一个列表,请将以下代码添加到上面的代码段中 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

split(df1$Response_var,df1$Group)

$B

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 4 5 11 4 2

要根据上面创建的数据框中的 Group 列将 df1 拆分为一个列表,请将以下代码添加到上面的代码段中 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

split(df1$Response_var,df1$Group)

$C

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 9 5 2

要根据上面创建的数据框中的 Group 列将 df1 拆分为一个列表,请将以下代码添加到上面的代码段中 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

split(df1$Response_var,df1$Group)

$D

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 4 9 1 4

要根据上面创建的数据框中的 Group 列将 df1 拆分为一个列表,请将以下代码添加到上面的代码段中 -

Group<-sample(LETTERS[1:5],20,replace=TRUE)

Response_var<-rpois(20,5)

df1<-data.frame(Group,Response_var)

split(df1$Response_var,df1$Group)

$E

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 3 4 5 6 2

示例 2

以下代码段创建了一个示例数据框 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

df2

创建了以下数据框

    Class Score

1   Third     6

2  Second     2

3  Fourth     3

4   Fifth     2

5  Second     3

6   Fifth     6

7  Fourth     2

8   First     4

9   Third    10

10  Third     5

11  Third     4

12  First     2

13  Third     6

14  Third     5

15  First     1

16 Fourth     4

17 Second     8

18  First     8

19 Second     7

20  Third    10

要将 df2 拆分为基于上面创建的数据框上的 Class 列的列表,请将以下代码添加到上面的代码段中 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

split(df2$Score,df2$Class)

$Fifth

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 2 6

要将 df2 拆分为基于上面创建的数据框上的 Class 列的列表,请将以下代码添加到上面的代码段中 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

split(df2$Score,df2$Class)

$First

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 4 2 1 8

要将 df2 拆分为基于上面创建的数据框上的 Class 列的列表,请将以下代码添加到上面的代码段中 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

split(df2$Score,df2$Class)

$Fourth

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 3 2 4

要将 df2 拆分为基于上面创建的数据框上的 Class 列的列表,请将以下代码添加到上面的代码段中 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

split(df2$Score,df2$Class)

$Second

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 2 3 8 7

要将 df2 拆分为基于上面创建的数据框上的 Class 列的列表,请将以下代码添加到上面的代码段中 -

Class<-sample(c("First","Second","Third","Fourth","Fifth"),20,replace=TRUE)

Score<-sample(1:10,20,replace=TRUE)

df2<-data.frame(Class,Score)

split(df2$Score,df2$Class)

$Third

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 6 10 5 4 6 5 10

以上是 基于 R 中的组将带有分组列的数据框转换为列表。 的全部内容, 来源链接: utcz.com/z/355713.html

回到顶部