Boxplot - доступ да імёнаў слупкоў з зменнымі

Як я магу атрымаць доступ да калонкі з дапамогай зменнай, якая ўтрымлівае імя слупка?

Давайце выкажам здагадку, што ў нас ёсць дадзеныя кадра DF з 3-ма слупкамі: <�Моцны> Var1 Переменная2 Var3 , дзе Var3 ўтрымлівае лікавыя дадзеныя і var1, а таксама Переменная2 ўтрымліваюць некалькі фактараў.

Мы хацелі б вырабляць 2, выкарыстоўваючы ўласцівая рэфлектыўна, вербальныя часовую зменную, якое змяшчае імя слупка:

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

Калі я буду выкарыстоўваць той жа метад, каб атрымаць boxplot для кожнага фактару ў Переменная2, ён не робіць:

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

Як я магу атрымаць гэтую працу?

анатацыя: Калі я выкарыстоўваю імя «Var3» наўпрост, яна працуе і паказвае некалькі ўласцівая рэфлектыўна, вербальныя:

boxplot(DF$Var3~DF$Var2).

3

3 адказы

Паспрабуйце выкарыстоўваць падвойныя дужкі замест адзіночных дужак:

tmp1 <- 'Sepal.Width'
tmp2 <- 'Species'
boxplot( iris[[tmp1]] ~ iris[[tmp2]] )
6
дададзена
Дзякуй за гэтую прапанову. Да таго як я паспрабаваў [[tmp1]], які не працаваў. Ваша рашэнне яшчэ прасцей ажыццявіць, і гэта працуе выдатна.
дададзена аўтар John, крыніца

Вы можаце проста зрабіць гэта. <�Код> з аператар інструктуе boxplot шукаць зменныя ўнутры DF , то атрымаць аператар звяртаецца да аб'екта з імем <�код > TMP .

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

Ніжэй прыведзены ілюстрацыйны прыклад

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

enter image description here

1
дададзена
Дарагі Ramnath, дзякуй вялікі за адказ! Асабліва мне спадабалася, што вы даць падрабязнае апісанне аб тым, што розныя элементы ў кодзе робяць.
дададзена аўтар John, крыніца

Вы можаце выкарыстоўваць ўставіць , каб пабудаваць формулу, а затым пераўтварыць у формулу для boxplot выкліку:

boxplot(as.formula(paste(temp,"Var2",sep="~")),DF)
1
дададзена
Здаецца, ёсць шмат розных варыянтаў для выканання гэтай задачы. Я паспрабаваў ваша рашэнне, і яна выдатна працуе. Вельмі цікавы метад.
дададзена аўтар John, крыніца