如何在 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
示例
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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP