2016-04-28 10 views
-4

私はグローバル環境で200以上のdata.framesを持っています。私は各data.frameから最初の行を削除したいと思いますが、どうすればよいか分かりません。R:グローバル環境内のすべてのdata.framesからローを削除します。

さらに詳しい情報が必要な場合は、私にお知らせください。

+0

を私の誤りを発見し、提供するためのコメントへ

dfs = sapply(ls(), is.data.frame) lapply(mget(names(dfs)[dfs]), "[", -1, , drop = FALSE) 

おかげ?そのような地球環境を汚染するのではなく、それらのdata.framesをリストに保管する方がよいでしょう。彼らはその方法で作業するほうがはるかに簡単です。 – MrFlick

+0

MrFlickのアドバイスをフォローアップする[データフレームのリストを作成する方法](http://stackoverflow.com/a/24376207/903061)を参照してください。 – Gregor

答えて

2

これにより、環境内のすべてのデータフレームが一覧表示され、各行から最初の行が削除され、データフレームのリストに整理されます。一般的に、それらをリストに入れておけば、より簡単にapplyが機能し、アクセスすることができます。

df <- lapply(ls(), function(x) get(x)[-1,])

更新:良いアイデアオブジェクトが実際のデータフレームであるとのみで動作するかどうかを確認します。最初に、データフレームをリストする論理的なベクトルを作成し、それらをリストに結合し、それぞれの最初の行を削除します。より効率的なソリューションあなたは、このような混乱を巻くましたか

+2

オブジェクトがデータフレームであることをチェックしてください。http://stackoverflow.com/questions/35387419/how-to-rbind-all-the-data-frames-in-your-working-environment-in-r/35387595#35387595 – user20650

関連する問題