2015-09-01 4 views
0

Вот пример моего единственного набора данных столбца:Ошибка при создании сюжета TimeSeries в R: Ошибка в plot.window (xlim, ylim, журнал, ...): нужно конечное 'ylim' значения

Lines 
141,523 
146,785 
143,667 
65,560 
88,524 
148,422 

Я прочитал этот файл как файл .csv, преобразовать его в объект TS, а затем построить его:

##Read the actual number of lines CSV file 

Aclines <- read.csv(file.choose(), header=T, stringsAsFactors = F) 

Aclinests <- ts(Aclines[,1], start = c(2013), end = c(2015), frequency = 52) 

plot(Aclinests, ylab = "Actual_Lines", xlab = "Time", col = "red") 

Я получаю следующее сообщение об ошибке:

Error in plot.window(xlim, ylim, log, ...) : need finite 'ylim' values 
In addition: Warning messages: 
1: In xy.coords(x, NULL, log = log) : NAs introduced by coercion 
2: In min(x) : no non-missing arguments to min; returning Inf 
3: In max(x) : no non-missing arguments to max; returning -Inf 

Я думал, что это может быть из-за «» в колонках и пытались использовать sapply позаботиться о том, что в соответствии с рекомендациями здесь:

need finite 'ylim' values-error

plot(sapply(Aclinests, function(x)gsub(",",".",x))) 

Но я получил следующее сообщение об ошибке:

Error in plot(sapply(Aclinests, function(x) gsub(",", ".", x))) : 
    error in evaluating the argument 'x' in selecting a method for function 'plot': Error in sapply(Aclinests, function(x) gsub(",", ".", x)) : 
    'names' attribute [105] must be the same length as the vector [1] 

Вот глава моих оригинальных и Ts набора данных, если это может помочь:

> head(Aclines) 
    Lines 
1 141,523 
2 146,785 
3 143,667 
4 65,560 
5 88,524 
6 148,422 
> head(Aclinests) 
[1] "141,523" "146,785" "143,667" "65,560" "88,524" "148,422" 

Кроме того, если я прочитал файл в формате CSV, как:

Aclines <- read.csv(file.choose(), header=T, **stringsAsFactors = T**) 

Тогда, я могу построить объект Т.С., но head(Aclinests) дает ниже выход, который не согласуется с моим исходным данным:

> head(Aclinests) 
[1] 14 27 17 84 88 36 

Просьба советовать, как я могу построить этот объект ts.

+0

Вы пытались добавить 'as.numeric()' к вашему вызову 'sapply', т. Е.' Plot (sapply (Aclinests, function (x) as.numeric (gsub (",", ".", X)))) '? – ulfelder

+0

Я получаю следующее сообщение об ошибке: 'Ошибка в графике (sapply (Aclinests, function (x) as.numeric (gsub (", ",". ",: ошибка при оценке аргумента 'x' при выборе метода для function 'plot': Ошибка в sapply (Aclinests, function (x) as.numeric (gsub (",", ".", x))): Атрибут 'names' [105] должен быть такой же длины, как вектор [1] ' –

+1

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

ответ

0

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

+0

Это isn На самом деле это ответ на вопрос. Я предлагаю вам просто удалить вопрос. –

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