Несколько значений в каждой строке с точечной диаграммой в R - PullRequest
4 голосов
/ 10 ноября 2011

У меня есть следующий входной файл для R:

car    1
car    2 
car    3 
car2   1 
car2   2 
car2   3 

Затем я использую следующие команды для построения графика:

autos_data <- read.table ("~/Documents/R/test.txt ", header = F) </p>

точечная диаграмма (autos_data $ V2, autos_data $ V1)

Но это отображает каждое значение car и car2 на новомлинии, как я могу построить график так, чтобы все значения автомобилей были на одной строке, а все значения car2 - на другой строке.

Ответы [ 3 ]

5 голосов
/ 26 июля 2013

Обратите внимание, что вы можете добавить точки в точечную диаграмму с ? Точками , так что можно сделать в базе R с небольшим количеством управления данными.Вот как это можно сделать:

autos_data = read.table(text="car    1
car    2 
car    3 
car2   1 
car2   2 
car2   3", header=F)

aData2 = autos_data[!duplicated(autos_data[,1]),]

dotchart(aData2[,2], labels=aData2[,1], 
         xlim=c(min(autos_data[,2]), max(autos_data[,2])))
points(autos_data[,2] , autos_data[,1])

enter image description here

@ Решительное решение Джоша О'Брайена, конечно, более элегантно.

5 голосов
/ 10 ноября 2011

Насколько я могу судить, просто нет способа сделать это с помощью базы dotchart.

Однако, если решетка dotplot также соответствует вашим потребностям, вы можете просто сделать:

library(lattice)
dotplot(V1~V2, data=autos_data)

enter image description here

1 голос
/ 27 сентября 2015

Вот решение ggplot2

qplot(V1, V2, data=autos_data) + coord_flip()

enter image description here

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