У меня есть кадр данных с 2 (или более) категориальными переменными и одним наблюдением.
Я хочу создать ящики для этих комбинаций категориальных переменных, число наблюдений которых превышает определенный порог. Идея состоит в том, чтобы иметь сюжетный файл с серией ящиков, каждый сюжет, названный в честь комбинации категориальных переменных, определяющих соответствующее подмножество.Доступ к категориальным переменным внутри tapply
Моя идея - использовать tapply
на самоопределенной функции. Это работает в принципе (см. Ниже). Моя единственная проблема заключается в том, что я не знаю, чтобы получить доступ к соответствующей комбинации категориальных переменных, как название сюжета внутри функции. ** Как я могу получить к ним доступ?
текущее решение:
cat1 <- c("A","A","A","A","E")
cat2 <- c("a","c","c","c","e")
obs <- c(2.0,2.2,2.5,5.0,1.0)
my_plot <- function(obs_subset,??_cat1-val,cat2-val_??) {
if(length(obs_subset) > 2) boxplot(obs_subset,
main=paste(cat1-val,cat2-val,sep = " ")) ;# how to compute the title
}
indices <- list(cat1,cat2)
pdf(file="theFileName.pdf")
tapply(obs,indices,my_plot)
dev.off()
Он работает без значений категориальных переменных.
Как я могу получить доступ к фактическим значениям cat1 и cat2 в соответствующих вызовах, чтобы их можно было использовать для обозначения графиков?
Я думаю, вам нужно лучше описать ваш предполагаемый результат ... как вы планируете сделать несколько ящиков из подмножества одной переменной? – Thomas
Спасибо, решение Свена Х работало как шарм. – joheid