У меня возникла проблема с набором данных, который имеет уровни перекрывающихся уровней.Как бороться с перекрывающимися уровнями факторов? (например, при создании таблиц и графиков)
Я хотел бы производить временные рамки, штрих-кодов и статистику по уровню фактора - однако, я хочу, чтобы уровни факторов были двусмысленными. Это означает, что наблюдения, относящиеся к более чем одному уровню, должны появляться несколько раз в сюжете.
Вот пример того, как моя структура данных выглядит следующим образом:
head <- c("ID","YEAR","BRAZIL","GERMANY","US","FRANCE")
data <- data.frame(matrix(c(1,2000,1,0,0,0,
2,2010,0,1,1,0,
3,2011,0,1,0,0,
4,2012,1,0,0,1,
5,2012,0,1,0,0,
6,2013,0,0,0,1),
nrow=6, ncol=6, byrow=T))
names(data) <- head
Obiously, возможный переменный фактор "COUNTRY"
не может быть создан обычным способом. Это заставит уровни фактора быть четкие (в нашем случае будет 4 уровня: Бразилия, Германия, США и Франция):
data$COUNTRY[data$BRAZIL==1 &
data$GERMANY==0 &
data$US==0 &
data$FRANCE==0] <- "Brazil"
data$COUNTRY[data$BRAZIL==0 &
data$GERMANY==1 &
data$US==0 &
data$FRANCE==0] <- "Germany"
и т.д ...
factor(data$COUNTRY)
Но это не то, что я хочу ...
Моя проблема заключается в том, что черчения фактором работает только тогда, когда уровни фактора являются правильно unambigu ОЕ. Я хотел бы, чтобы произвести что-то вроде этого:
require(ggplot2)
MYPLOT <- qplot(data$YEAR, data$COUNTRY)
MYPLOT + geom_point(aes(size=..count..), stat="bin") + scale_size(range=c(0, 15))
с наблюдениями, принадлежащих к я уровней фактора появляется я раз в сюжете.
- Как преобразовать данные data.frame, чтобы получить то, что я хочу?
- Должен ли я просто дублировать эти наблюдения, относящиеся к i Уровни факторов i раз? Если да, как мне это сделать?
- Это обходное решение, которое не требует дублирования случаев?
Идеи кто-нибудь?
Используйте 'stat = 'identity'' в своем заговоре. Если это не так, пожалуйста, уточните, как вы определяете столбец «COUNTRY», поскольку для меня это совершенно неясно. – Justin
Я отредактировал мой вопрос. Теперь должно быть ясно, что я имел в виду с возможной переменной фактора «СТРАНА». 'stat = 'identity'' не то, что я хочу, я хочу' stat =' bin''. –
для того, что это стоит, пакет 'решетка 'имеет тип понятия/объекта, называемый * shingles *, которые явно предназначены для реализации перекрывающихся классов (это одна из интересных особенностей решетки, которая не попала в ggplot): http://stackoverflow.com/questions/5199128/can-i-use-shingles-from-lattice-in-ggplot2-in-r –