これはおそらく本当に簡単な質問です。私はデータフレーム(df1、df2 .... dfn)のリストを持っています。すなわち、リストの各要素はデータフレームです。だから、基本的には、リストは次のように作成されました:データフレームのリストをリストから外す
mylist = list(df1, df2,...., dfn)
しかし、私は逆にどのように行うのですか、それは非公開にあるので、DF1、DF2などは、ワークスペースで別々に存在しますか?
これはおそらく本当に簡単な質問です。私はデータフレーム(df1、df2 .... dfn)のリストを持っています。すなわち、リストの各要素はデータフレームです。だから、基本的には、リストは次のように作成されました:データフレームのリストをリストから外す
mylist = list(df1, df2,...., dfn)
しかし、私は逆にどのように行うのですか、それは非公開にあるので、DF1、DF2などは、ワークスペースで別々に存在しますか?
使用list2env
それは特別に、このために設計されている:名前付きリストXから
、作成すべてのリスト コンポーネントをオブジェクトとして含む環境、またはxから既存の 環境への「マルチアサイン」だからここ
:
list2env(mylist ,.GlobalEnv)
+1私はこの機能が存在しないことを知りませんでした。 –
Brilliant!どうもありがとう。 – user702432
あなたは単にそのようなassign
機能とともに、forループを使用することができます。
# Sample data
df.list <- list(data.frame(x = 1:3, y = c(10, 20, 30)),
data.frame(x = 4:6, y = c(40, 50, 60)),
data.frame(x = 7:9, y = c(70, 80, 90)))
# Write out single data frames
for (i in seq(df.list))
assign(paste0("df", i), df.list[[i]])
名前のないリストがあるときは最高の解決策です。 – NoThanks
本当にエレガント! –
感謝。あなたはテレパスですか? – user702432
質問は*すべきです、なぜあなたは*これをやりたいですか?すべてのdfを素敵なリストに入れておけば、別のオブジェクトにする必要はほとんどありません。あなたはあなたのリストの要素としてそれらを扱うことができます。 –
Simonと同意します。名前で呼び出す場合は、リスト内で名前を付けるほうがよいでしょう。 'myList [list(df1 = data.frame(...)、df2 = data.frame(...)、...)'を呼び出し、それらを 'myList [['df1']' – geotheory