[解決済み] bind_rows_(x, .id) のエラー : 引数 1 には名前を指定する必要があります。
質問
以下はコードスニペットです。
y <- purrr::map(1:2, ~ c(a=.x))
test1 <- dplyr::bind_rows(y)
test2 <- do.call(dplyr::bind_rows, y)
の最初の呼び出しは
bind_rows
(
test1
) はエラーを発生させます。
Error in bind_rows_(x, .id) : Argument 1 must have names
使用方法
do.call
を呼び出して
bind_rows
(
test2
)は、期待通りに動作します。
test2
# A tibble: 2 x 1
a
<int>
1 1
2 2
なぜ?これはdplyr 0.7.6とpurrr 0.2.5を使用しています。もし私が
map_df
の代わりに
map
を実行すると、同じエラーで失敗します。
注:この質問は、私には以下のように見えません。 Error in bind_rows_(x, .id) : Argument 1 must have names using map_df in purrr .
EDIT: この問題に対処するもう一つの方法は、そもそも明示的にデータフレームを作成することです。
y <- purrr::map(1:2, ~ data.frame(a=.x))
test1
と
test2
はエラーもなく、同じものが作成されるようになりました。
または、これは
test2
のデータフレームを一度に作成することができます。
purrr::map_df(1:2, ~ data.frame(a=.x))
解決方法は?
のドキュメントから
bind_rows
:
歴史的な理由により、ベクトルを含むリストは常に はデータフレームとして扱われる。したがって、そのベクトルは列として扱われます 行ではなく、内側の名前は無視されます。
ここで、あなたの
y
これは2つの無名のリスト要素で、それぞれが長さ1のベクトルを含み、ベクトル要素には
a
. ですから、このエラーは予想されたことだと思われます。
リストの要素に名前をつけると、説明したようにベクトルが列として扱われ、動作することがわかります。
library(tidyverse)
y <- map(1:2, ~ c(a=.x)) %>%
set_names(c("a", "b"))
bind_rows(y)
#> # A tibble: 1 x 2
#> a b
#> <int> <int>
#> 1 1 2
を指定した場合との違い
y
を経由して引数として
do.call
という書き方は、どちらかというと
bind_rows(c(a = 1), c(a = 2))
. これはベクターを含むリストではなく、別々のベクターなので、期待通り行単位でバインドされます。
関連
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】Rで「パッケージ'FILE_PATH'のインストールで終了ステータスが0でなかった」。
-
[解決済み】LMEモデルのレベル0、ブロック1でのバックソルブにおける特異性
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み】二項演算子への非数値引数【非公開
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
-
[解決済み】randomForestの実行予測で「NA/NaN/Inf in foreign function call (arg 7)」をなくすには?
-
[解決済み】起動時にパーをデフォルト値にリセットする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】Rはプロットするが、アブラインを描画しない
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?