如何将Excel中的导入文件转换为R studio中的xts文件
Posted
技术标签:
【中文标题】如何将Excel中的导入文件转换为R studio中的xts文件【英文标题】:How to convert import file from Excel into xts file in R studio 【发布时间】:2019-12-17 13:56:31 【问题描述】:我在 R 工作室的 performanceAnalytics 包中工作。我的任务是做基于矩阵的最优投资组合。但是,当我尝试使用此代码或类似代码时,R-studio 不断向我抛出错误:chart.Bar(portfelj_sa_Bitcoinom$CROBEX)
。 R-studio 告诉我:
数据无法转换为时间序列。如果您尝试从具有一列的数据对象中传递名称,则应使用“data[rows, columns, drop = FALSE]”形式。行名应具有标准日期格式,例如“1985-03-15”。
我想我需要将现有文件转换为 Xts,但我不知道该怎么做,因为我是这个程序的初学者。
我尝试使用来自网站的代码将文件转换为 Xts。但由于我是这个程序的新手,我不知道如何正确使用它们。我将向您展示我的文件结构。
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 48 obs. of 6 variables:
$ Date : POSIXct, format: "2018-07-13" "2018-07-20" "2018-07-27" "2018-08-03" ...
$ CROBEX : num 1808 1792 1834 1823 1837 ...
$ BUX : num 35642 35187 35944 36760 36171 ...
$ BETI : num 7933 7898 8041 8089 8154 ...
$ WIG : num 2157 2183 2291 2287 2247 ...
$ BITCOIN: num 6238 7354 8165 7434 6185 ...
Date CROBEX BUX BETI WIG BITCOIN
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2018-07-13 00:00:00 1808. 35642. 7933. 2157. 6238.
2 2018-07-20 00:00:00 1792. 35187. 7898. 2183. 7354.
3 2018-07-27 00:00:00 1834. 35944. 8041. 2291. 8165.
4 2018-08-03 00:00:00 1823. 36760 8089. 2287. 7434.
5 2018-08-10 00:00:00 1837. 36171. 8154. 2247. 6185.
6 2018-08-17 00:00:00 1818. 36437. 8185. 2218. 6581.
2019-05-03 00:00:00 1844. 41775. 8443. 2319. 5768.
2 2019-05-10 00:00:00 1841. 41068. 8305. 2192. 6379.
3 2019-05-17 00:00:00 1865. 39878. 8224. 2184. 7344.
4 2019-05-24 00:00:00 1877. 40023. 8189. 2188. 7987.
5 2019-05-31 00:00:00 1851. 40904. 8493. 2239. 8574.
6 2019-06-07 00:00:00 1875. 41160. 8576. 2281. 8044.
如何继续使用我的数据?
【问题讨论】:
【参考方案1】:尝试将您的数据框转换为这样的 xts 对象:
library(xts)
data <- xts(data[,-1], order.by = data[,1])
这告诉 xts 使用第一列作为索引创建一个对象。然后,它应该可以按您的预期工作。
【讨论】:
以上是关于如何将Excel中的导入文件转换为R studio中的xts文件的主要内容,如果未能解决你的问题,请参考以下文章