2015-06-01 9 views
0

Я использую пакет Sparklines в R и использовал функцию reshapeExt() для подготовки набора данных, но столкнулся с очень странной проблемой. Набор данных выглядит следующим образом:R Ошибка пакета Sparklines

 Company time value 
1 Microsoft 1990 11 
2 Time Warner 1990 22 
3  Verizon 1990 33 
4 Microsoft 1991 44 
5 Time Warner 1991 55 
6  Verizon 1991 66 
7 Microsoft 1992 77 
8 Time Warner 1992 88 
9  Verizon 1992 99 

А потом я следовал учебник пример, чтобы запустить эти строки:

example <- example[,c("Company","value","time")] 
example$time <- as.numeric (as.character (example$ time)) 
dat <- reshapeExt (example , idvar =" Company " , varying = list (2)) 

Необъяснимо, R дал мне это за "Дат":

 Company time value Company 
1 Microsoft 1 11   1 
2 Time Warner 1 22   2 
3  Verizon 1 33   3 
4 Microsoft 1 44   4 
5 Time Warner 1 55   5 
6  Verizon 1 66   6 
7 Microsoft 1 77   7 
8 Time Warner 1 88   8 
9  Verizon 1 99   9 

График времени стал 1 без видимой причины. Этого не происходит, когда я выполнял пример на https://web.warwick.ac.uk/statsdept/user2011/TalkSlides/Contributed/18Aug_0950_FocusVI_4-ReportingData_2-Kowarik.pdf стр. 18 - что здесь происходит?

Любая помощь приветствуется

ответ

0

8 месяцев после того, как я не знаю, если это полезно для вас, но у меня была аналогичная проблема, и я нашел ваш вопрос. Может быть, это все равно поможет другим людям.

Во-первых, подтвердить, что у вас есть только три колонки в следующем порядке: компании, время, стоимость

Я думаю, что проблема в том, что порядок данных, что вам нужно сделать заказ в компании и время:

example <- examplewith(example, order(Company, time)), ] 

то данные будут выглядеть так:

 Company time value 
1 Microsoft 1990 11 
4 Microsoft 1991 44 
7 Microsoft 1992 77 
2 Time_Warner 1990 22 
5 Time_Warner 1991 55 
8 Time_Warner 1992 88 
3  Verizon 1990 33 
6  Verizon 1991 66 
9  Verizon 1992 99 

затем используйте reshapeExt и измените varying = list(3) на 3, потому что ваш значения находятся в третьем столбце.

example2 <- reshapeExt(example, idvar = "Company", varying = list(3)) 

Конечный результат:

 Company time value 
1 Microsoft 1 11 
4 Microsoft 2 44 
7 Microsoft 3 77 
2 Time_Warner 1 22 
5 Time_Warner 2 55 
8 Time_Warner 3 88 
3  Verizon 1 33 
6  Verizon 2 66 
9  Verizon 3 99 

Я думаю, что будет работать таким образом. Спасибо!

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