【发布时间】:2016-12-19 13:07:15
【问题描述】:
尝试创建 xts 文件,但在加载后格式化后,日期的行数与数据的行数不同。我的数据有许多列,行数不等,从 20 到 200 不等。我想在加载后创建一个单独的变量,变量取决于我想查看的组合,所以我想要一个完整的 data.frame在创建变量之前使用 NA,我将在其中 na.omit 并减小尺寸。
代码如下:
#load file with desired composite
allcomposites <- read.csv("Composites 2014.08.31.csv", header = T)
compositebench <- allcomposites[1, 2:ncol(allcomposites)]
dates1 <- as.Date(allcomposites$Name, format = "%m/%d/%Y")
allcomposites <- as.data.frame(lapply(allcomposites[2:nrow(allcomposites),2:ncol(allcomposites)], as.numeric))
allcomposites <- as.xts(allcomposites, order.by = dates1)
## Error in xts(x, order.by = order.by, frequency = frequency, ...) :
## NROW(x) must match length(order.by)
编辑以显示所有复合材料的外观:
Name Composite1 Composite2 Composite3 Composite4 Composite5
Bmark 229 229 982 612 995
8/31/2014 0.9979 0.9404 4.3808 3.9296
7/31/2014 -0.4563 -0.3038 -1.7817 -1.7248
6/30/2014 0.205 0.2234 2.2184 2.7304
5/31/2014 1.311 1.5771 3.4824 1.7601
4/30/2014 0.9096 1.0187 -1.9195 1.2964
【问题讨论】:
-
你能举一个小例子来说明所有复合材料的样子吗?
-
一个问题是 Bmark 被 allcomposites$Name 捕获,而您尝试将 Bmark 转换为日期。
-
正如@DMT 所说:您需要省略
dates1的第一个观察结果:dates1 <- as.Date(allcomposites$Name[-1], format = "%m/%d/%Y")。