基于 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_var1 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 Score1 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