我正在尝试使用循环将数字“ -10,000”作为NA值分配给从国家气象局下载的多个单独的多波段栅格文件。我可以单独使用对象,但是尝试使用循环时会收到错误消息。
您可以在下面看到命名约定,但是每个栅格都有三个波段,并对应一个时间段(1天,过去30天等)。
library(raster)
# Reclassify -10,000 values (missing data) to NA for each of the three bands for the "1day" raster file
NAvalue(NWS1_1day) <- -10000
NAvalue(NWS2_1day) <- -10000
NAvalue(NWS3_1day) <- -10000
# Returns no error
namelist <- c('1day', 'last30days', 'last60days', 'last90days', 'last120days', 'last180days', 'last365days')
# Reclassify -10.000 values (missing data) to NA
for (j in 1:length(namelist)) {
for (k in 1:3) {
assign(-10000, NAvalue(paste0("NWS", k, "_", namelist[j])))
}
}
# Error in NAvalue(paste0("NWS", k, "_", namelist[j])) :
# trying to get slot "file" from an object of a basic class ("character") with no slots
有什么想法吗?