リストにたくさんのデータフレームを簡単に入れることは可能ですか? ではなく、次の方法のように、手動でそれぞれの名前を書くことの意味:私はすべてのデータフレームが私の仕事スペースにリストに複数のデータフレームを入れる(スマートな方法)
list_of_df <- list(data_frame1,data_frame2,data_frame3, ....)
をロードしました。 リストを使用して、すべてのデータフレームをループする(各データフレームで同じ操作を実行する)。
リストにたくさんのデータフレームを簡単に入れることは可能ですか? ではなく、次の方法のように、手動でそれぞれの名前を書くことの意味:私はすべてのデータフレームが私の仕事スペースにリストに複数のデータフレームを入れる(スマートな方法)
list_of_df <- list(data_frame1,data_frame2,data_frame3, ....)
をロードしました。 リストを使用して、すべてのデータフレームをループする(各データフレームで同じ操作を実行する)。
あなたはget
でls()
を使用することができます。
l.df <- lapply(ls(), function(x) if (class(get(x)) == "data.frame") get(x))
これは、現在の環境のワークスペースからすべてdata.framesをロードします。 @agstudyが示唆するよう
あるいは、あなたが必要とちょうどdata.frame
Sをロードするためにパターンを使用することができます。
l.df <- lapply(ls(pattern="df[0-9]+"), function(x) get(x))
ロード数字の任意の量に1が続くdf
で始まり、現在の環境内のすべてのdata.frame
秒。
オブジェクトの名前をそのまま保持する方法はありますか?この方法はうまくいくが、データフレーム名は抽出されたものではない。個別に割り当てるよりも良い方法はありますか?ありがとう。 – Anusha
@Anusha、申し訳ありませんが、私はあなたが意味するものをかなり得ていません。リストの各要素の名前がこれらのdata.framesの名前であるdata.framesのリストが必要だと言っていますか? – Arun
はい。オブジェクトは名前で識別されていますが、リストには含まれていません。このステップ自体で選択されたデータフレームの名前を割り当てることをお勧めします。 – Anusha
あなたは、例えば、特定のパターンでls
を使用することができます。
一部data.frames:たとえば、次のように
data.frame1 <- data.frame()
data.frame2 <- data.frame()
data.frame3 <- data.frame()
data.frame4 <- data.frame()
list(ls(pattern='data.fra*'))
[[1]]
[1] "data.frame1" "data.frame2" "data.frame3" "data.frame4"
これはオブジェクトの内容ではなく、名前のリストを提供します。 –
断然最も簡単な解決策は、あなたがそれらを作成リストにdata.frame
年代を置くことであろう。ただし、オブジェクト名の文字リストを持っていると仮定すると:
list_df = lapply(list_object_names, get)
:
list_object_names = sprintf("data_frame%s", 1:10)
または現在のワークスペース内のすべてのオブジェクトを取得しますリストに:
list_df = lapply(ls(), get)
names(list_df) = ls()
@Imoと@EdChum;この質問は、あなたがそれを大公として公表した質問の前に投稿されました。日付を見てください! –