2

列の名前を含む変数を使用して列にアクセスするにはどうすればよいですか?

Var1 Var2 Var3の3 つの列を持つデータ フレーム DF があるとします。 ここで、Var3 には数値データが含まれ、Var1 と Var2 にはいくつかの要素が含まれます。

列の名前を含む一時変数を使用して、2 つの箱ひげ図を生成したいと考えています。

temp<-"Var3"
boxplot(DF[temp]) #(<--that works).

同じ方法を使用して Var2 の各因子の箱ひげ図を取得すると、次のようにはなりません。

boxplot(DF[temp]~DF$Var2) #(<-- does not work).

どうすればこれを機能させることができますか?

注釈: 「Var3」という名前を直接使用すると、機能し、いくつかの箱ひげ図が表示されます。

boxplot(DF$Var3~DF$Var2).

4

3 に答える 3

7

シングルブラケットの代わりにダブルブラケットを使用してみてください。

tmp1 <- 'Sepal.Width'
tmp2 <- 'Species'
boxplot( iris[[tmp1]] ~ iris[[tmp2]] )
于 2011-10-27T17:27:50.530 に答える
1

を使用pasteして式を作成し、boxplot 呼び出しの式に変換できます。

boxplot(as.formula(paste(temp,"Var2",sep="~")),DF)
于 2011-10-27T16:32:35.170 に答える
1

これを行うだけです。ステートメントは 内の変数を探すようにwith指示し、ステートメントは name のオブジェクトにアクセスします。boxplotDFgettmp

with(DF, boxplot(get(tmp) ~ Var2))

これは説明的な例です

tmp <- 'wt'
with(mtcars, boxplot(get(tmp) ~ cyl))

ここに画像の説明を入力

于 2011-10-27T16:13:08.393 に答える