私は最初の列の他のdata.framesの名前のdata.frameを持っている..私はRにかなり新たなんだと、この質問は奇妙に聞こえるかもしれない:data.frameの名前がdata.frameに保存されている場合、data.frameのデータにアクセスする方法は?
> data
tablename avg_size
1 ttest 5000
2 testsheet 15000
5 ttest2 15000
6 mtcars 13000
次に私がやりたいものですテーブルの名前(data.frames)を取得し、それらのdata.frames上でいくつかの関数を実行します。例えば、私は
missing_values <- sum(is.na(eval(as.name(as.vector(data[1])))))
を使用してできた各テーブルには、NASの合計を取得したい私の問題は、これは少しも複雑に見えますし、私はよりよい解決策があるかもしれないと思う)1 ということでしょうか? 2)他の機能を使用すると、問題が発生します。
infinite_values <- sum(is.infinite(as.numeric(eval(as.name(as.vector(data[1]))))))
これは機能しません。「as.numeric」を挿入すると効果がありませんでした。
誰かが助けることができますか?
編集: これまでの回答に感謝します!私は両方の
infinite_values <- sum(is.infinite(as.numeric(eval(as.name(as.vector(data[1]))))))
と
obg <- mget(as.character(data[,1]))
を試みたが、それが返されます "エラー:。''ttest''の値が見つかりません" このソリューションはあなたのために機能すると思われるので、何が間違っているのでしょうか?
lapply(mget(as.character(data[,1])), function(x) sum(is.infinite(unlist(x))))
が、私はのように置く:非公開にを使用したりas.vectorが役立つかもしれないが、論理名を合計するとき
lapply(mget(as.character(data[,1])), function(x) sum(is.na(x)))
あなたはas.numeric必要はありません。
私は少なくとも1つの問題を検出したと思います。「mtcars」は異なる環境にあり、mgetでは見つかりませんでした。今すぐunlist()で動作するようです。ありがとう! – mariego