【发布时间】:2016-11-03 16:40:19
【问题描述】:
我知道这个问题已被多次询问,但我找不到解决问题的正确方法。我上传了一个非常简单的 CSV 文件,如下所示:
27.07.2015,100
28.07.2015,100.1504
29.07.2015,100.1957
30.07.2015,100.5044
31.07.2015,100.7661
03.08.2015,100.9308
04.08.2015,100.8114
05.08.2015,100.6927
06.08.2015,100.7501
07.08.2015,100.7194
10.08.2015,100.8197
11.08.2015,100.8133
现在我需要将我的 data.frame 转换为 xts,以便我可以使用 PerformanceAnalytics 包。我的 data.frame 具有以下结构:
> str(mpey)
'data.frame': 243 obs. of 2 variables:
$ V1: Factor w/ 243 levels "01.01.2016","01.02.2016",..: 210 218 228 234 241 21 30 38 45 52 ...
- attr(*, "names")= chr "5" "6" "7" "8" ...
$ V2: Factor w/ 242 levels "100","100.0062",..: 1 4 5 10 16 20 17 13 15 14 ...
- attr(*, "names")= chr "5" "6" "7" "8" ...
我用as.xts 函数尝试了不同的东西,但可以让它工作。
你能帮我解决这个问题吗?
【问题讨论】:
-
V1 是一个因素,也许将其更改为字符或日期类? V2 是因素,也许您可能需要将其更改为数字。
-
已经试过了,但我不能。它总是给我 *** as.Date.factor(mpey[,1]) charToDate(x) 中的错误:字符串不是标准的明确格式,或者如果我尝试 *** > as.Date(mpey[, 1]) charToDate(x) 中的错误:字符串不是标准的明确格式
-
当我添加格式 =“%d/%m/%Y”时,我得到 252 NA 行.....
-
添加
format = "%d/%m/%Y"将不起作用,因为您的日期与"27/07/2015"不同。使用format = "%d.%m.%Y"。如果read.table将其转换为因子,则您的V2数据有问题。您需要查看该列中非数字字符的原始 CSV。您可以首先在 R 中将V2转换为数字,然后找到由于无法转换为数字而被强制转换为NA的行。
标签: r dataframe xts performanceanalytics