如何在 R 中重复数据框的一列并按行将其与另一个数据框连接?


假设我们有一个包含 5 列的数据框 df1,以及另一个仅包含一列的数据框 df2,但两个数据框中列的数据类型相同。现在我们可能希望将第二个数据框的列添加到第一个数据框的行末,并创建与第一个数据框相同数量的列。研究人员可能需要这样做来了解外部变量对分析结果的影响,这可以通过 sapply 函数来实现。

请考虑以下数据框 -

示例

 在线演示

set.seed(259)
x1<-sample(0:9,20,replace=TRUE)
x2<-sample(1:10,20,replace=TRUE)
x3<-sample(11:20,20,replace=TRUE)
x4<-sample(16:20,20,replace=TRUE)
x5<-sample(41:50,20,replace=TRUE)
df1<-data.frame(x1,x2,x3,x4,x5)
df1

输出

  x1 x2 x3  x4  x5
1 3  2  19  16  41
2 8  3 14 17 47
3 6  10 13 17 50
4 1  10 18 20 50
5 5  5 13 18 49
6 3  10 13 19 48
7 3  8 13 16 48
8 8   1 15 17 49
9 9  6 13 16 50
10 7 5 19 19 43
11 3 10 12 17 42
12 4 5 17 18 47
13 7 9 13 19 48
14 8 5 11 19 41
15 3 1 19 18 50
16 9 2 16 17 41
17 0 5 17 19 42
18 2 7 11 17 42
19 3 1 14 18 41
20 1 2 19 18 47

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例

 在线演示

x1<-sample(0:50,20)
df2<-data.frame(x1)
df2

输出

x1
1 45
2 25
3 24
4 46
5 32
6 3
7 30
8 6
9 14
10 36
11 1
12 34
13 47
14 9
15 22
16 21
17 16
18 44
19 31
20 26

通过重复 df2 的列到 df1 中的列数,将 df2 的列与 df1 连接 -

示例

data.frame(sapply(df1,c,unlist(df2)),row.names=NULL)

输出

  x1 x2 x3 x4 x5
1 9  4  12 16 48
2 2  9  16 19 47
3 6  7  17 17 46
4 1  8  17 16 44
5 3  8  12 18 44
6 4  8  16 20 42
7 6  3  13 17 41
8 0  3  18 18 43
9 8  9  11 17 46
10 4 9  14 16 44
11 2 3  20 18 44
12 9 3  11 20 45
13 4 1  12 17 42
14 6 8  11 17 47
15 3 8  20 18 47
16 8 8  12 20 43
17 5 4  18 18 48
18 4 4  15 16 43
19 9 7  11 17 50
20 2  7  11 20 44
21 34  34 34 34 34
22 8 8  8 8 8
23 30  30 30 30 30
24 6 6 6 6 6
25 12 12 12 12 12
26 7 7 7 7 7
27 36 36 36 36 36
28 31 31 31 31 31
29 44 44 44 44 44
30 24 24 24 24 24
31 26 26 26 26 26
32 22 22 22 22 22
33 14 14 14 14 14
34 2 2 2 2 2 35
33 33 33 33 33
36 9 9 9 9 9
37 15 15 15 15 15
38 11 11 11 11 11
39 19 19 19 19 19
40 32 32 32 32 32

更新时间: 2020-10-16

193 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告