如果我们在列表中存储了多个相同大小的数据帧,并且我们相信这些数据帧具有相似的特征,那么我们可以创建一个数据帧。这可以在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