0
我输入一个带头的Excel CSV并使用str(returns.xts)
进行检查。以下代码在xts
内生成字符值。使用某些字符从“.csv”生成数字的xts“#N/A”
file <- "~/GCS/returns_Q216.csv"
returns_Q216_ <- read.csv(file=file)
returns <- read.zoo(data.frame(returns_Q216_), FUN = as.Date, format='%d/%m/%Y')
returns.xts <- as.xts(returns)
在保留xts(和日期列)的同时将xts内容转换为数字的最佳方法是什么?
> `str(returns)`
An ‘xts’ object on 2007-01-31/2015-05-31 containing:
Data: `chr` [1:101, 1:18] "-0.002535663" "-0.001687755" "0.032882512" "0.024199512" "0.027812955" ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:18] "UK.EQUITY" "EUR.EQUITY" "NA.EQUITY" "ASIA.EQUITY" ...
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
NULL
> returns[8,9]
PROPERTY
2007-08-31 "-4.25063E-05"
当我尝试as.numeric(returns.xts)
我得到一个1x1的结构单元没有日期的行。
> str(as.numeric(returns))
num [1:1818] -0.00254 -0.00169 0.03288 0.0242 0.02781 ...
你能尝试:'returns_Q216_ < - read.csv(文件=文件,colClasses = C( “人物”,代表( “数字”,N)),stringsAsFactors = FALSE); returns_xts = XTS( returns_Q216 _ [ - 1],order.by = as.Date(returns_Q216 _ [1], “%d /%米/%Y”))'。用文件中的数字列数替换N – OdeToMyFiddle
是的。 129之后的行填充了来自彭博缺失值(未来日期)的“#N/A”。数字失败。有没有办法,这些可以变成R'NA',同时作为.numeric()或ColClasses“数字”仍然可以强制xts数据为num? – rrg
我知道将一个'matrix'转换为'data.frame'使得由无效数字条目引起的引号消失,但是有没有一种方法可以创建一个动物园,因为存在无效数据(可能被NA代替)。 – rrg