Я новичок в R (особенно в его графических пакетах), и у меня возникла проблема с созданием условных гистограмм.
Учитывая гипотетический кадр данных df:
df<-as.data.frame(cbind(y=c(1:5),a=c(1,1,2,2,3),b=c(2,3,3,4,5), c=c(3,4,5,6,7)))
Я хотел бы создать гистограммы y в зависимости от уникальных комбинаций a, b и c:
groups<-unique(cbind(df$a,df$b,df$c))
(Я понимаю, что гистограммы с использованием этого конкретного фрейма данных не имеют особого смысла, но для простоты и краткости это сработает)
Я, конечно, мог бы посмотреть на уникальные значения моих обусловливающих переменных и написать код для каждой отдельной гистограммы, но я хотел бы автоматизировать процесс примерно так:
library(lattice)
for (i in 1:5) { #for the 5 unique groups
histogram(~y | a==groups[i,1] & b==groups[i,2] & c==groups[i,3], data=df)
dev.new()
}
Этот код выполняется и открывает правильное количество графических окон, но ничего не выводит. Кроме того, если есть аргумент для добавления к функции гистограммы, которая заставит вывод отображаться только при выполнении условия (вместо отображения обеих панелей TRUE и FALSE), мне было бы интересно узнать и об этом.
Спасибо.