R - Невозможно использовать log () для вектора зоопарка (не числовой c аргумент математической функции) - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь вычислить лог столбца фрейма данных зоопарка в R. Хотя все данные являются положительными числовыми значениями, говорит R (не числовой c аргумент математической функции).

Странно это работает при применении к данным, прежде чем они преобразуются в фрейм данных зоопарка.

Я не могу понять, почему.

Вот мой код:

library(zoo)
data <- read.csv(file="dataecm/data.csv", sep = ";", stringsAsFactors=FALSE)
log(data$GDP) ### Works
datats<-zoo(data, order.by = data$DATE)
log(datats$GDP) ### Does not work ->  (non-numeric argument to mathematical function)

Кстати, при использовании View (дататы) фрейм данных зоопарка выглядит точно так же, как фрейм данных, считанный из csv.

Вот набор данных: enter image description here

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 20 апреля 2020

Не включайте полные данные в качестве первого аргумента для zoo.

datats <- zoo(data$GDP, order.by = data$DATE)

datats теперь временной ряд, содержащий только ВВП на ваши данные даты

Тогда войти в систему datats должно работать

log(datats)
#2000-01-01 2000-01-02 2000-01-03 
#  11.52307   11.72364   13.39135

Данные :

data <- structure(list(DATE = structure(c(10957, 10958, 10959), class = "Date"), 
    GDP = c(101020L, 123456L, 654321L)), row.names = c(NA, -3L
), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...