【发布时间】:2013-10-18 12:07:52
【问题描述】:
我们创建了以下循环来绘制数据的不同部分(使用包“latticeExtra”)。
library("latticeExtra")
All_dates<-unique(fad$Meet_date)
for (i in 1:11) { Date.i <- All_dates[i]
layoutno <- unique(fad[fad$Meet_date == Date.i,28] )
Data.i <- fad[fad$Meet_date == Date.i, ]
Data.i$newtime <- as.POSIXct(Data.i$DateTime)
prop <- with(Data.i,tapply(newtime,klasse, max))-with(Data.i,tapply(newtime,klasse, min))
png(paste(Date.i, ".png", sep = ""), height = 20, width = 30, units = "cm", res = 400)
dog <- xyplot(Ratio ~ Meet_times |as.factor(klasse), data = Data.i, main = paste(Date.i),
layout = c(layoutno,1), scales = list(x = list(relation = "free",format = "%H:%M")),
xlab = "Time of measurement", ylab = "Ratio CH4/CO2")
print(resizePanels(dog,w = prop))
dev.off() }
但是,我们得到这个:as.POSIXct.numeric(X[[2L]], ...) 中的错误:必须提供'origin'..
我是 R 的大菜鸟,所以我不知道这个问题可能出在哪里.. 我的同事似乎也迷路了.. 我知道这是一个很大的代码,但我有点希望有人能立即看到这个问题.. 我试过了在这个网站和谷歌上进行了几次搜索,但这并没有给我带来任何有用的信息。
请帮忙?提前非常感谢!
【问题讨论】:
-
错误告诉你问题出在哪里,
help("as.POSIXct.numeric")有解决方法的例子。 -
是的,所以我填写了错误的列号作为参考点,这就是问题所在。我们忘记了我们之前在脚本中添加了一列,所以不是使用第 28 列,而是需要使用第 29 列。这些列之间的区别在于,一个是数字,另一个是 POSIXlt。可能,这就是为什么我得到那个错误..你可以说有点愚蠢。无论如何,感谢所有愿意花时间帮助我的人!