Генерация индивидуального точечного графика в R с несколькими факторами - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь сгенерировать отдельный точечный график с несколькими факторами в R, который похож на тот, который создан minitab.

Я смог создать отдельный точечный график в R, но я могу 't понять, как добавить группировку к оси X.Например, у меня есть Цвет и Тип, которые я хотел бы отобразить на оси X. Каждый Тип имеет два цвета, и я хотел бы, чтобы это было на одном графике, но я не могу понять это для точечного графика.

Результат должен выглядеть аналогично этой группировке, но вместо этого иметь точечный график и иметь только 1 график, я просто пытаюсь проиллюстрировать группировку.

http://ajpendo.physiology.org/content/280/5/E804/F6.small.gif

извините, я не могу опубликовать изображение, слишком много нубов для укладки:)

Я просмотрел сеть, но не могу найти много помощи.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

Вы можете сделать это несколькими способами в R.

Первый - использовать пакет lattice:

library(lattice)
xyplot(lat ~ long | cut(depth, 3),
        data = quakes, 
        aspect = "iso", 
        pch = ".", 
        cex = 2, 
        type = c("p", "g"), 
        xlab = "Longitude", 
        ylab = "Latitude", 
        strip = strip.custom(strip.names = TRUE, var.name = "Depth"))

enter image description here

А второй в ggplot:

library(ggplot2)
df <- quakes
df$cut_depth <- cut(quakes$depth, 3)
ggplot(quakes, aes(x=long, y=lat)) + geom_point() + facet_grid(.~cut_depth)

enter image description here

0 голосов
/ 12 апреля 2011

Вы можете использовать ggplot, чтобы сделать это наиболее напрямую.Допустим, у вас есть data.frame со следующими столбцами:

dta: = x, y, цвет, условие

, где x, y - это число, а цвет - это условие.Затем вы можете сделать следующее:

require(ggplot2)
ggplot(dta, aes(x = x, y = y, color = color)) + geom_point() + facet_wrap(~ condition)

альтернативно, в обычном R вы можете сделать:

plot(dta$x, dta$y, col = dta$color, pch = dta$condition)

однако это может быть слишком занято.

Джим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...