如何使用 R 中帶有行名的列表中儲存的資料幀來建立一個單一的資料幀?
如果我們有多個大小相同的、儲存在列表中的資料幀,並且我們認為這些資料幀具有相似的特徵,那麼我們可以建立一個單一的資料幀。這可以透過呼叫 do.call 來完成。例如,如果我們有一個已定義的列表,其名稱為 List,其中包含具有相同行數且具有其名稱的資料幀,那麼可以透過呼叫 do.call(rbind,unname(List)) 來建立一個單一的資料幀。
示例
df1<−data.frame(x=rnorm(10),row.names=sample(LETTERS[1:26],10)) df2<−data.frame(x=rnorm(10),row.names=sample(LETTERS[1:26],10)) df3<−data.frame(x=rnorm(10),row.names=sample(LETTERS[1:26],10)) List<−list(First=df1,Second=df2,Third=df3) List
輸出
$First x G 0.30699620 P 1.11451394 I 0.16537658 J −0.99267571 X −0.00183875 T 0.65413132 M 0.46023584 H −0.23309683 W 0.71764386 L 0.71318867 $Second x B 0.12553866 X 0.78585517 D −0.86144038 I −0.46069668 T −0.04954584 S 0.41792421 L 0.77762054 U 0.10214920 P −0.54777071 Z −0.17795518 $Third x P −1.03833288 A −2.06108259 D 0.06075337 S −0.25815094 V −1.14154154 Z 1.28649520 R 0.58446876 O −0.08794448 C −0.14094378 N −0.49827426
將列表資料幀轉換為一個單一的資料幀 -
示例
df<−do.call(rbind,unname(List)) df
輸出
x G 0.30699620 P 1.11451394 I 0.16537658 J −0.99267571 X −0.00183875 T 0.65413132 M 0.46023584 H −0.23309683 W 0.71764386 L 0.71318867 B 0.12553866 X1 0.78585517 D −0.86144038 I1 −0.46069668 T1 −0.04954584 S 0.41792421 L1 0.77762054 U 0.10214920 P1 −0.54777071 Z −0.17795518 P2 −1.03833288 A −2.06108259 D1 0.06075337 S1 −0.25815094 V −1.14154154 Z1 1.28649520 R 0.58446876 O −0.08794448 C −0.14094378 N −0.49827426
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP