小编use*_*695的帖子

R在xts图中设置xlim

我正在尝试扩展我的时间序列图的X轴,以便为以后在图中添加新数据做好准备.但是,无论我尝试什么,我都会在plot.window(...)中得到错误:无效的'xlim'值错误.

这是一个最小的代码片段:

数据构建:

time_series <- xts(rnorm(100),seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 03:00:00"), by="hour"))
Run Code Online (Sandbox Code Playgroud)

绘图:

plot(time_series, type='l');
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,结果是一个很好的时间序列图.

现在,我想扩展x轴,我试过:

xlim <- seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-06 03:00:00"), by="hour")
plot <- (time_series, xlim = xlim, type='l')
Run Code Online (Sandbox Code Playgroud)

但这不起作用,但会导致plot.window(...)出错:无效的'xlim'值.

尝试以下结果会导致同样的错误:

xlim <- c(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 00:00:00"))
Run Code Online (Sandbox Code Playgroud)

从文档中我知道xlim必须是数字,并且可以设置为xlim = c(0,100)但是在使用xts数据时它是如何工作的?

编辑:我知道这个问题类似于时间序列绘图范围的问题.但是,由于我不知道将来需要绘制的数据,我对这个特定的解决方案感兴趣.

plot r xts

5
推荐指数
1
解决办法
9265
查看次数

R中使用%dopar%而不是%do%时出错(包doParallel)

我想出了一个奇怪的错误.假设我在名为data的列表中有10个xts对象.我现在使用搜索每三个组合

   data_names <- names(data)
   combs <- combn(data_names, 3)
Run Code Online (Sandbox Code Playgroud)

我的基本目标是在这些1080三元组上进行PCA.为了加快速度,我想使用doParallel包.所以这里是缩短的片段,直到发生错误:

list <- foreach(i=1:ncol(combs)) %dopar% {
    tmp_triple <- combs[,i]

    p1<-data[tmp_triple[[1]]][[1]]
    p2<-data[tmp_triple[[2]]][[1]]
    p3<-data[tmp_triple[[3]]][[1]]

    data.merge <- merge(p1,p2,p3,all=FALSE)
}
Run Code Online (Sandbox Code Playgroud)

这里,合并功能似乎是问题所在.错误是

任务1失败 - "无法将类c("xts","zoo")强制转换为data.frame"

但是,当将%dopar%更改为正常序列%do%时,一切都可以接受.

直到现在我无法找到任何解决这个问题的方法,我甚至不确定要寻找什么.

parallel-processing foreach r xts

4
推荐指数
1
解决办法
2176
查看次数

标签 统计

r ×2

xts ×2

foreach ×1

parallel-processing ×1

plot ×1