dplyr
のbind_rows
機能が好きですが、.id
引数を渡すときには、新しい列に数値インデックスを追加するだけで済みます。オブジェクト名へのアクセスとバインディングR
私はbind_rows_named
関数を記述しようとしていますが、オブジェクト名にアクセスできません。
bind_name_to_df <- function(df){
dfname <- deparse(substitute(df))
df %>% mutate(label=dfname)
}
a <- data_frame(stuff=1:10)
bind_name_to_df(a)
しかし、私は、例えば、データフレームのリストにこれを適用する方法を考え出すことはできません。期待通りこれは動作しますドットを使って。私はこれを動作させるが、私は何かを間違って...
のセマンティクスがあることを知っている。誰も光を放つことができますか?ここで
b <- data_frame(stuff=1:10)
bind_rows_named <- function(...){
return(
bind_rows(lapply(..., bind_name_to_df)))
}
bind_rows_named(a, b)
他の文脈では、私は便利な関数 'Hmisc :: llist'を" listのように "使用しました。変数 'label'属性のコンポーネント変数です。"したがって、ここで 'bind_rows(Hmisc :: llist(a、b)、.id =" label ")' – Henrik
があります。オブジェクト名?](https://stackoverflow.com/questions/16951080/can-lists-be-created-that-name-themselves-based-on-input-object-names) – Henrik
'.id'からのラベルは'bind_rows'に名前付き引数を与えないと、整数だけを返します。 'bind_rows(a = .a =" label ")'を参照してください。これは 'Hmisc :: llist'を作るのに便利な名前付きリストを持っているときにうまくいきます。 – aosmith