文字列の配列として、変数「dfs」で指定されたデータフレームのグループの名前があります。つまり、
> dfs
"dfs1" "dfs2" ... "dfsk"
dfsの各データフレームの列の名前を変更したいと思います。つまり、関数 'func'をdfsの各エントリに適用し、結果を書き戻したいということです。つまり、結果は評価と等しくなるはずです
dfs1 <- func(dfs1)
dfs2 <- func(dfs2)
...
dfsk <- func(dfsk)
難しいのは、dfsが任意に長くなる可能性があり、dfsの内容が実行時にのみ認識されることです。
関数funcを作成し、次を使用してdfsに適用しようとしました。
lapply( mget(dfs), func)
ただし、これにより実際のdata.framesは変更されません。
私の質問は、次の未回答の質問と類似しています。
解決策が見つかりました:重要なのは、適用する代わりにevalを使用することです。目的の動作は、次を使用して取得できます。
cCmd <- paste(dfs, "<- func(" ,dfs,")", sep="")
eCmd <- parse(text=cCmd)
eval(eCmd)
これは最もエレガントな方法ではないかもしれませんが、機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加