Как преобразовать data.frame в XTS в R? - PullRequest
1 голос
/ 06 октября 2019

ребята!

Мне нужно использовать функцию Return.calculate () в моем фрейме данных, но чтобы использовать эту функцию, прежде всего, Мне нужно конвертировать мой фрейм данных в xts .

Это мой фрейм данных:

head(df)

     datas preco ticker empresa
1 20180102 32.09  BBAS3  BRASIL
2 20180103 33.10  BBAS3  BRASIL
3 20180104 33.52  BBAS3  BRASIL
4 20180105 33.70  BBAS3  BRASIL
5 20180108 33.64  BBAS3  BRASIL
6 20180109 33.59  BBAS3  BRASIL

Когда я пытаюсь конвертировать мой фрейм данных в xts, используя as.xts () или xts (), я получаю следующие сообщения:

используя as.xts ():

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

используя xts ()

Error in xts(z) : order.by requires an appropriate time-based object

Что я могу сделать, чтобы преобразовать мой фрейм данных в объект xts?

Большое спасибо

1 Ответ

1 голос
/ 06 октября 2019

Преобразовать первый столбец в объект Date и добавить его как rownames, а затем использовать as.xts

rownames(df) = as.Date(as.character(df$datas), "%Y%m%d")
xts::as.xts(df[-1])

Или использовать xts

xts::xts(df[-1], order.by = as.Date(as.character(df$datas), "%Y%m%d"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...