2016-03-23 3 views
0

Я пытаюсь создать простой dotplot (lattice пакет) в R со следующим кадром данных:Две группировки переменных в dotplot

df<-data.frame(Sediment=c("Algae", "Algae", "Algae", "Bare", "Bare", "Bare", "Dredged", "Dredged", "Dredged"), Rep=c(1,2,3,1,2,3,1,2,3), LeafElongation=c(0, 20.6, 0, 29.1, 41.4, 45.9, 54.1, 22.3, 26.7)) 

Я хотел бы использовать маркер цвета, чтобы сгруппировать данные по седиментации и . маркерные формы для группировки данных по Респу Это мой код до сих пор:

dotplot(LeafElongation~Sediment, data=df, groups=Sediment, method="jitter", col = 
     c("darkolivegreen", "darkgoldenrod3", "sienna"), main= "Leaf Elongation: Ramet Plots", ylab="Average total plant leaf elongation (cm)", cex.main=1.7, cex.lab=1.2, cex.axis=1.7) 

Я успешно группировать свои данные по осадке и это, как правило, как я хотел бы сюжет появиться, но я хотел бы иметь различная форма для каждого Rep (круги для 1, бриллианты для 2, t треугольники для 3). Мне также хотелось бы, чтобы формы заполнялись, а не открывались. Кроме того, я считаю, что метод jitter должен разделять перекрывающиеся точки, чтобы можно было видеть оба, но в этом случае он, похоже, не работает.

ответ

0

pch аргумент это то, что вы ищете. Просто добавьте его в свой код и отправьте его напрямую с помощью df$Rep. Вы можете удалить аргумент groups, который теперь лишний.

dotplot(LeafElongation~Sediment, data=df, 
    method="jitter", 
    col = c("darkolivegreen", "darkgoldenrod3", "sienna"), 
    main= "Leaf Elongation: Ramet Plots", 
    ylab="Average total plant leaf elongation (cm)", 
    cex.main=1.7, cex.lab=1.2, cex.axis=1.7, 
    pch = df$Rep) 
0

Вы можете добавить это как дополнительный аргумент в свой dotplot для группировки по форме. pch = c(16, 17, 18)[df$Rep]

Вы можете обменять 16, 17, 18 для любых других форм в соответствии с настоящим руководством: http://www.endmemo.com/program/R/pchsymbols.php

+0

Я добавил этот аргумент прямо перед аргументом цвета, и он заполнил мои точки, но все еще не изменил их форму. Должен ли я также добавить «Rep» в начало кода? – user507

+0

Ничего, я решил проблему. Необходимо удалить аргумент «groups» и создать цветовой аргумент для Sediment так же, как вы предложили. – user507

 Смежные вопросы

  • Нет связанных вопросов^_^