如何使用 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

更新時間:2021-02-08

126 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始吧
廣告
© . All rights reserved.