人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Rで、変数名を変数にいれて処理することができるのでしょうか?
PHP では、$$x のようにすると、変数名を変数に代入して渡すことが可能です。同様のことができると便利なので、簡単に実現できる方法があったら教えてください。



●質問者: kaiketsu
●カテゴリ:コンピュータ 科学・統計資料
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● akagi_paon

どういうことをしたいのかわかりませんが、eval() という関数があります。

eval(parse(text="hoge <- 1"));

を実行すると、変数 hoge に 1 が代入されます。

これを使えば変数名を文字列として持っていれば、実行したいステートメントを文字列として構成し、実行することができます。

以下、例です。

names <- c("hoge", "fuga", "piyo");
values <- c(1, 2, 3);
for(i in 1:3) {
 eval(parse(text=paste(names[i], "<-", values[i])));
}
cat("hoge =", hoge, "\n");
cat("fuga =", fuga, "\n");
cat("piyo =", piyo, "\n");

結果:

hoge = 1

fuga = 2

piyo = 3

参考になりましたでしょうか?

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/17.html

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ