在 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 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告