gpt4 book ai didi

r - 在 R 中创建空对象

转载 作者:行者123 更新时间:2023-12-04 23:40:34 27 4
gpt4 key购买 nike

我正在尝试创建这样的空数字对象

corr <- cor()

稍后在循环中使用它。
但是,它不断返回此错误 Error in is.data.frame(x) : argument "x" is missing, with no default .

这是我的完整脚本:
EVI <- "D:\\Modis_EVI\\Original\\EVI_Stack_single5000.tif"
y.EVI <- brick(EVI)
m.EVI.cropped <- as.matrix(y.EVI)
time <- 1:nlayers(y.EVI)
corr <- cor()

inf2NA <- function(x) { x[is.infinite(x)] <- NA; x }
for (i in 1:nrow(m.EVI.cropped)){
EVI.m <- m.EVI.cropped[i,]
time <- 1:nlayers(y.EVI)
Corr[i] <- cor(EVI.m, time, method="pearson", use="pairwise.complete.obs")
}

请问有什么建议吗?

最佳答案

由于您是在寻求建议:

您很可能不需要这样做,因为您可能可以使用 (i) 向量化函数或 (ii) lapply为您预先分配返回对象的循环。如果你坚持使用 for循环,正确设置。这意味着你应该预先分配你可以做的事情,例如,使用 corr <- numeric(n) ,其中 n是迭代次数。附加到一个向量是非常slooooooow。

关于r - 在 R 中创建空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38760780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com