rbind.fill
同じ数の列がないため、しようとしているデータフレームのリストがあります。データフレームの名前は x1、x2、...x10 です。
私のコード:
x.list<-list(c(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10))
library(plyr)
rbind.fill(x.list)
このコードは機能しますが、を使用してすべてのデータフレームを書き込まないようにしていますpaste0
。
x.list1<-as.list(paste0(x,1:10))
x.list1 は、x1、x2、... をデータフレームではなく文字として解釈します。
str(x.list1)
List of 10
$ : chr "x1"
$ : chr "x2"
$ : chr "x3"
$ : chr "x4"
$ : chr "x5"
$ : chr "x6"
$ : chr "x7"
$ : chr "x8"
$ : chr "x9"
$ : chr "x10"
したがって、rbind.fill
データフレームのリストが必要なので使用できません。ここでmget
提案されているように使用してみました
rbind.fill(mget(x.list1))
しかし、私はエラーを受け取りました、
Error in mget(x.list1) : argument "envir" is missing, with no default
環境の設定 (前の質問への回答のコメントで述べたように) も役に立ちません。
rbind.fill(mget(x.list1,envir = .GlobalEnv))
Error in mget(x.list1, envir = .GlobalEnv) : invalid first argument
この問題を解決するための提案はありますか?
サンプル データフレーム x1、x2、および x3 は次のとおりです。
x1<-structure(list(mpg = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3,
24.4, 22.8, 19.2), cyl = c(6, 6, 4, 6, 8, 6, 8, 4, 4, 6), disp = c(160,
160, 108, 258, 360, 225, 360, 146.7, 140.8, 167.6), hp = c(110,
110, 93, 110, 175, 105, 245, 62, 95, 123)), .Names = c("mpg",
"cyl", "disp", "hp"), row.names = c("Mazda RX4", "Mazda RX4 Wag",
"Datsun 710", "Hornet 4 Drive", "Hornet Sportabout", "Valiant",
"Duster 360", "Merc 240D", "Merc 230", "Merc 280"), class = "data.frame")
x2<-structure(list(mpg = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3,
24.4, 22.8, 19.2), cyl = c(6, 6, 4, 6, 8, 6, 8, 4, 4, 6), disp = c(160,
160, 108, 258, 360, 225, 360, 146.7, 140.8, 167.6), hp = c(110,
110, 93, 110, 175, 105, 245, 62, 95, 123), drat = c(3.9, 3.9,
3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92), wt = c(2.62,
2.875, 2.32, 3.215, 3.44, 3.46, 3.57, 3.19, 3.15, 3.44)), .Names = c("mpg",
"cyl", "disp", "hp", "drat", "wt"), row.names = c("Mazda RX4",
"Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout",
"Valiant", "Duster 360", "Merc 240D", "Merc 230", "Merc 280"), class = "data.frame")
x3<-structure(list(mpg = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3,
24.4, 22.8, 19.2, 17.8), cyl = c(6, 6, 4, 6, 8, 6, 8, 4, 4, 6,
6), disp = c(160, 160, 108, 258, 360, 225, 360, 146.7, 140.8,
167.6, 167.6)), .Names = c("mpg", "cyl", "disp"), row.names = c("Mazda RX4",
"Mazda RX4 Wag", "Datsun 710", "Hornet 4 Drive", "Hornet Sportabout",
"Valiant", "Duster 360", "Merc 240D", "Merc 230", "Merc 280",
"Merc 280C"), class = "data.frame")