在 R 数据框中组合用连字符分隔的两列的值。


为了在 R 数据框中组合用连字符分隔的两列的值,我们可以使用 apply 函数。

例如,如果我们有一个名为 df 的数据框,它只包含两列,例如 X 和 Y,那么我们可以使用下面给出的命令来组合 X 和 Y 中的值:

df$X_Y<-apply(df,1,paste,collapse="-")

示例 1

考虑下面给出的数据框:

Age<-sample(20:50,20)
Height<-sample(130:200,20)
df1<-data.frame(Age,Height)
df1

创建了以下数据框

  Age Height
1  22   147
2  37   138
3  28   184
4  40   154
5  32   193
6  20   135
7  47   185
8  27   198
9  46   156
10 29   170
11 44   140
12 43   167
13 23   182
14 49   171
15 31   150
16 25   148
17 21   180
18 45   169
19 39   179
20 36   133

为了在上面创建的数据框中组合 df1 中两列的值,并在它们之间用连字符分隔,请将以下代码添加到上述代码段中:

Age<-sample(20:50,20)
Height<-sample(130:200,20)
df1<-data.frame(Age,Height)
df1$Age_Height<-apply(df1,1,paste,collapse="-")
df1

输出

如果您将以上所有给定的代码段作为一个程序执行,它将生成以下输出:

    Age Height Age_Height
 1   22 147       22-147
 2   37 138       37-138
 3   28 184       28-184
 4   40 154       40-154
 5   32 193       32-193
 6   20 135       20-135
 7   47 185       47-185
 8   27 198       27-198
 9   46 156       46-156
10   29 170       29-170
11   44 140       44-140
12   43 167       43-167
13   23 182       23-182
14   49 171       49-171
15   31 150       31-150
16   25 148       25-148
17   21 180       21-180
18   45 169       45-169
19   39 179       39-179
20   36 133       36-133

示例 2

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

Group<-sample(c("First","Second","Third"),20,replace=TRUE)
Rate<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Group,Rate)
df2

输出

如果您执行上述代码段,它将生成以下输出:

   Group Rate
1 First    8
2 Second   4
3 First    5
4 Second   7
5 Second   4
6 Third    7
7 Second   9
8 Second   7
9 First    7
10 Second  3
11 First  10
12 Second  9
13 First   7
14 First   8
15 Second  1
16 Second  8
17 Second  5
18 Third  10
19 Second  4
20 First   5

为了在上面创建的数据框中组合 df2 中两列的值,并在它们之间用连字符分隔,请将以下代码添加到上述代码段中:

Group<-sample(c("First","Second","Third"),20,replace=TRUE)
Rate<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Group,Rate)
df2$Group_Rate<-apply(df2,1,paste,collapse="-")
df2

输出

如果您将以上所有给定的代码段作为一个程序执行,它将生成以下输出:

     Group Rate Group_Rate
1    First    8   First- 8
2   Second    4  Second- 4
3    First    5   First- 5
4   Second    7  Second- 7
5   Second    4  Second- 4
6    Third    7   Third- 7
7   Second    9  Second- 9
8   Second    7  Second- 7
9    First    7   First- 7
10  Second    3  Second- 3
11   First   10   First-10
12  Second    9  Second- 9
13   First    7   First- 7
14   First    8   First- 8
15  Second    1 Second-  1
16  Second    8 Second-  8
17  Second    5 Second-  5
18   Third   10 Third-  10
19  Second    4 Second-  4
20   First    5 First-   5

更新时间: 2021-10-28

807 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告