2015-05-28 1 views
1

Я надеюсь на некоторую помощь в том, как создать диаграмму gantt с пакетом plan. Пакет упоминается кратко во всеобъемлющей публикации ранее several approaches using R; see answer 4 of 7 for plan Ниже приведены мои воспроизводимые данные.Вопросы относительно диаграммы gantt, составленной по тарифному плану

dput(project) 
structure(list(key. = structure(1:8, .Label = c("1,", "2,", "3,", 
"4,", "5,", "6,", "7,", "8,"), class = "factor"), description. = structure(1:8, .Label = c("recommendation1,", 
"recommendation2,", "recommendation3,", "recommendation4,", "recommendation5,", 
"recommendation6,", "recommendation7,", "recommendation8,"), class = "factor"), 
    start. = structure(1:8, .Label = c("10/1/2015,", "10/2/2015,", 
    "10/3/2015,", "10/4/2015,", "10/5/2015,", "10/6/2015,", "10/7/2015,", 
    "10/8/2015,"), class = "factor"), end. = structure(1:8, .Label = c("12/1/2015,", 
    "12/2/2015,", "12/3/2015,", "12/4/2015,", "12/5/2015,", "12/6/2015,", 
    "12/7/2015,", "12/8/2015,"), class = "factor"), done. = c(90, 
    30, 0, 0, 0, 0, 0, 0), neededby = c(0, 0, 0, 0, 0, 0, 0, 
    0)), .Names = c("key.", "description.", "start.", "end.", 
"done.", "neededby"), row.names = c(NA, -8L), class = "data.frame") 

Использование read.gantt(), кадр данных выглядит хорошо для меня:..

> project 
key.  description.  start.  end. done. neededby 
1 1, recommendation1, 10/1/2015, 12/1/2015, 90  0 
2 2, recommendation2, 10/2/2015, 12/2/2015, 30  0 
3 3, recommendation3, 10/3/2015, 12/3/2015,  0  0 
4 4, recommendation4, 10/4/2015, 12/4/2015,  0  0 
5 5, recommendation5, 10/5/2015, 12/5/2015,  0  0 
6 6, recommendation6, 10/6/2015, 12/6/2015,  0  0 
7 7, recommendation7, 10/7/2015, 12/7/2015,  0  0 
8 8, recommendation8, 10/8/2015, 12/8/2015,  0  0 

Но что-то наперекосяк, когда я использую печать (резюме() Последние две строки имеют проблему, которую я пытался ПЕРЕУСТАНОВКИ записывая их в CSV-файл, но безрезультатно.

> print(summary(project)) 
key.    description.  start.   end.  done.   neededby 
1,  :1 recommendation1,:1  10/1/2015,:1 12/1/2015,:1 Min. : 0.0 Min. :0 
2,  :1 recommendation2,:1  10/2/2015,:1 12/2/2015,:1 1st Qu.: 0.0 1st Qu.:0 
3,  :1 recommendation3,:1  10/3/2015,:1 12/3/2015,:1 Median : 0.0 Median :0 
4,  :1 recommendation4,:1  10/4/2015,:1 12/4/2015,:1 Mean :15.0 Mean :0 
5,  :1 recommendation5,:1  10/5/2015,:1 12/5/2015,:1 3rd Qu.: 7.5 3rd Qu.:0 
6,  :1 recommendation6,:1  10/6/2015,:1 12/6/2015,:1 Max. :90.0 Max. :0 
(Other):2 (Other)   :2  (Other) :2 (Other) :2 

в любом случае, я побежал plot() и результат был явно странным.
enter image description here

ответ

2

Я являюсь автором пакета R по имени plan. Обычно вопросы задаются на issue page пакета, который, как мне кажется, ограничивает аудиторию, но имеет преимущество отправки мне электронной почты, когда задан вопрос.

В любом случае, нормальный способ построения данных для диаграммы gantt состоит в использовании функции с именем read.gantt(). Чтобы получить документацию по этой функции, попробуйте

library(plan) 
?read.gantt 

Обратите внимание, что существуют строгие правила в отношении формата. Это должен быть обычный текстовый файл, а не csv и, конечно, не xls. Отредактируйте его простым текстовым редактором. Если бы я был вами, я бы начал с вывода вы поставили выше, когда вы написали project, и он сказал вам столбцы. Вырезать/вставить в простой текстовый файл (с именем «plan.txt», возможно, но имя не имеет значения). Затем отрегулируйте заголовки и т. Д. В соответствии с документацией для read.gantt(). Затем просто прочитайте его и запишите. Вероятно, самый быстрый способ узнать формат и посмотреть результат - это посмотреть в виньетку, которая поставляется вместе с пакетом. In R, тип

vignette("plan") 

и вы получите это. Я поставил в нижней части этого сообщения снимок одной из страниц виньетки. Скорее всего, это будет трудно прочитать на SO, но просто запустите команду выше и перейдите на страницу 4, чтобы увидеть ее.

Если вы владеете текстовым редактором, вам потребуется всего несколько минут. Но учтите, что формат данных очень, поэтому вам может понадобиться использовать причудливые трюки редактора, такие как перемещение столбцов.

Можно было бы принуждать ваши данные в формате, используя команды R, но из того, что вы написали выше, кажется, что вы довольно новичок в R, и было бы лучше придерживаться более простого пути подготовки данных и выполнения стандартных команд R.

Пожалуйста, дайте мне знать, если вам нужна дополнительная помощь. (Опять же, я не читаю SO на регулярной основе, поэтому, если SO не уведомляет меня о последующих действиях, я не буду слышать, если вы не напишите мне по электронной почте ... Вот почему предпочтительнее использовать проблему на plan веб-сайт, конечно.)

snapshot of <code>plan</code> vignette page

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