如何在 R 数据框中创建组列?
假设我们有一个名为 df 的数据框,其中包含两列 X 和 Y,那么我们可以通过将 df 转换为data.table对象并使用 list 函数在 X 和 Y 中创建值列表来创建基于 X 和 Y 的组列。
查看以下示例以了解如何完成。
示例 1
以下代码段创建了一个示例数据框 -
x1<-rpois(20,2)x2<-rpois(20,2)
df1<-data.frame(x1,x2)
df1
创建了以下数据框
x1 x21 1 5
2 1 1
3 0 1
4 1 1
5 2 1
6 2 3
7 4 2
8 0 4
9 2 1
10 2 2
11 0 1
12 3 1
13 3 3
14 4 3
15 2 0
16 1 3
17 2 1
18 3 1
19 5 1
20 3 2
要data.table在上面创建的数据框中加载对象并为 df1 中的值创建组列,请将以下代码添加到上面的代码段中 -
x1<-rpois(20,2)输出结果x2<-rpois(20,2)
df1<-data.frame(x1,x2)
library(data.table)
setDT(df1)[,Group:=.GRP,by=list(x1,x2)]
df1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x1 x2 Group1: 1 5 1
2: 1 1 2
3: 0 1 3
4: 1 1 2
5: 2 1 4
6: 2 3 5
7: 4 2 6
8: 0 4 7
9: 2 1 4
10: 2 2 8
11: 0 1 3
12: 3 1 9
13: 3 3 10
14: 4 3 11
15: 2 0 12
16: 1 3 13
17: 2 1 4
18: 3 1 9
19: 5 1 14
20: 3 2 15
示例 2
以下代码段创建了一个示例数据框 -
y1<-sample(LETTERS[1:4],20,replace=TRUE)y2<-sample(LETTERS[1:4],20,replace=TRUE)
df2<-data.frame(y1,y2)
df2
创建了以下数据框
y1 y21 B C
2 B D
3 D C
4 D B
5 A B
6 D A
7 A C
8 A C
9 D B
10 C C
11 A A
12 C D
13 B C
14 C C
15 A A
16 D B
17 B A
18 C B
19 C B
20 C B
要在上面创建的数据框中为 df2 中的值创建组列,请将以下代码添加到上面的代码段中 -
y1<-sample(LETTERS[1:4],20,replace=TRUE)输出结果y2<-sample(LETTERS[1:4],20,replace=TRUE)
df2<-data.frame(y1,y2)
setDT(df2)[,Group:=.GRP,by=list(y1,y2)]
df2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
y1 y2 Group1: B C 1
2: B D 2
3: D C 3
4: D B 4
5: A B 5
6: D A 6
7: A C 7
8: A C 7
9: D B 4
10: C C 8
11: A A 9
12: C D 10
13: B C 1
14: C C 8
15: A A 9
16: D B 4
17: B A 11
18: C B 12
19: C B 12
20: C B 12
以上是 如何在 R 数据框中创建组列? 的全部内容, 来源链接: utcz.com/z/335456.html