这是错误消息:
"在writeBin中(v,x @ file @ con,size = x @ file @dsize):问题写作 连接6:在.rasterFromRasterFile中(grdfile,band = band, objecttype):值文件的大小与单元格数不匹配 (给定数据类型)"
我有15个相同范围和尺寸的光栅文件。我只是想找出这些数据在时间(15年)内的相关性,即15个光栅文件。
我使用了以下脚本:
list <- c(list.files(pattern = "\\.tif$"))
y <- stack()
for (i in 1:length(list)){
y <- stack(y,list[i]) }
corT <- layerStats(y, 'pearson', na.rm=TRUE)
OR 直接使用堆叠文件
test = brick ("EOS_ALL_STACK.tif")
corT = layerStats(test, 'pearson', na.rm=TRUE)
我还尝试使用此函数来获得相关系数,r像这样
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[1,4]}} #fstatistic[1]
fun5=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ c(1:15));summary(m)$coefficients[2,4]}} #fstatistic[2]
fun3=function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:15] ~ x[1:15]);summary(m)$r.squared }}
然后使用&#34; calc&#34;在所有像素上计算这些。例如:
r.squared <- calc(y, fun3)
然而,我的结果仍然存在上述错误,即使有输出,它似乎也没有意义。
答案 0 :(得分:3)
此错误消息:
=COUNTIF(F:F, E2&"*")
很可能表示您的磁盘已满。这可能是您的工作目录的磁盘,也可能是您正在编写文件的任何其他位置。如果未指定文件名,可以检查writeBin(v, x@file@con, size = x@file@dsize) : problem writing to connection
以查找存储临时文件的常规位置(实际文件夹在会话之间更改)。您可以通过tempfile()
进行更改。您还可以通过为栅格函数提供rasterOptions()
参数来避免编写临时文件。