Ошибка в plot.window (...): для 'xlim' нужны конечные значения - как ее решить? - PullRequest
0 голосов
/ 30 декабря 2018

Итак, я пытался построить следующий фрейм данных:

head(MonthlyAveragePriceHAIRPEPE)

  month   AveragePrice pct.chg

1 2016-09        3.17   NA    
2 2016-10        0.792  -0.750
3 2016-11        0.225  -0.715
4 2016-12        0.179  -0.204
5 2017-01        0.445   1.48 
6 2017-02        3.36    6.55 

Проблема в том, что, когда я строю график со следующей строкой кода plot(MonthlyAveragePriceHAIRPEPE$month, MonthlyAveragePriceHAIRPEPE$AveragePrice), я получаю следующее:

Error in plot.window(...) : need finite 'xlim' values. 
In addition : Warning messages : 
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

Я не знаю, как решить эти проблемы ... Я думаю, что это происходит из класса столбца месяца, который является "персонажем", но когда я пытаюсь передать его в "фактор", всеЯ получаю НС ... Класс средней цены числовой, и у меня нет проблем с ее построением в одиночку.Я думаю, что проблема действительно касается столбца "месяц" и его класса ...

Информация о df следующая:

dput(head(MonthlyAveragePriceHAIRPEPE, 10))

structure(list(month = c("2016-09", "2016-10", "2016-11", "2016-12", 
"2017-01", "2017-02", "2017-03", "2017-04", "2017-05", "2017-06"
), AveragePrice = c(3.16968709677419, 0.791904347826087, 0.225412279295455, 
0.179445766423358, 0.444554531722054, 3.35761658783784, 5.6894554715794, 
16.6639257580906, 53.1994216287425, 66.4208618873239), pct.chg = c(NA, 
-0.750163242096669, -0.71535415872605, -0.203921955874672, 1.4773754242451, 
6.55276652974736, 0.694492305103592, 1.9289139956068, 2.19249031716991, 
0.24852601501664)), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))

Большое спасибо заранее!

1 Ответ

0 голосов
/ 30 декабря 2018
library(zoo)
MonthlyAveragePriceHAIRPEPE$month_ymon <- as.yearmon(MonthlyAveragePriceHAIRPEPE$month)
plot(MonthlyAveragePriceHAIRPEPE$month_ymon, MonthlyAveragePriceHAIRPEPE$AveragePrice)

#OR
library(lubridate)
MonthlyAveragePriceHAIRPEPE$month_parse <- parse_date_time(MonthlyAveragePriceHAIRPEPE$month, 'ym')
plot(MonthlyAveragePriceHAIRPEPE$month_parse, MonthlyAveragePriceHAIRPEPE$AveragePrice)

#OR
MonthlyAveragePriceHAIRPEPE$month_base <- as.Date(paste0(MonthlyAveragePriceHAIRPEPE$month,'-1'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...