Не может произвести барплот после "кастинга" - PullRequest
0 голосов
/ 11 сентября 2011

После успешного выполнения приведения (с использованием пакета изменения формы) для небольшого набора данных я получаю следующий кадр (e_disp), который я и ищу.

        Date Code        200g
1 2010/06/01 cg4j 0.519880141
2 2010/09/19 7gv2 0.158999682
3 2011/04/14 zl94 0.294174203
4 2011/05/27 a13t 0.140232549

Моя проблема в том, что я хочусоздать столбчатую диаграмму, которая имеет значения под столбцом 200g, нанесенные на столбцы с осью X, являющейся датой, и каждый столбец имеет код, связанный со значением.(Это также может быть на оси х выше или ниже даты)

Моя проблема заключается в том, что я получаю следующую ошибку

"Ошибка в barplot.default (e_disp): 'высота'должен быть вектор или матрица "

Итак, мои вопросы: 1) Можно ли сделать то, что я пытаюсь сделать после использования команды" cast "2) Если да, то есть ли какие-либо предложения относительно того, как этого добиться

Любая помощь будет оценена

Ответы [ 2 ]

3 голосов
/ 11 сентября 2011

Это то, что вам нужно:

dat <- read.table(textConnection("Date Code x200g
 1 2010/06/01 cg4j 0.519880141
 2 2010/09/19 7gv2 0.158999682
 3 2011/04/14 zl94 0.294174203
 4 2011/05/27 a13t 0.14023254"), header=TRUE, as.is=TRUE)
dat$Date <- as.Date(dat$Date)

Вставка столбцов «Дата» и «Код», разделенных переводом строки (\ n ") для создания меток:

barplot(dat$x200g, names.arg=paste(dat$Date,"\n", dat$Code, sep=""),  ylab=" ")

enter image description here

3 голосов
/ 11 сентября 2011

Это довольно легко сделать с помощью ggplot2. Вот пример

# generate dummy data
mydf = data.frame(date = 1:5, code = letters[1:5], value = rpois(5, 40))

# plot it using ggplot2
library(ggplot2)
pl = ggplot(mydf, aes(x = date, y = value)) +
     geom_bar(stat = 'identity') +
     geom_text(aes(label = code), vjust = -1)
print(p1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...