【发布时间】:2015-03-25 08:13:53
【问题描述】:
我是 R 新手,我正在尝试在 R 和 GIS 中创建污染模型。
我有这个代码:
setwd("D:/+gis/hranice")
library("foreign", lib.loc="D:/Program Files/R/R-3.1.1/library")
y <- read.csv("distancematrix.csv",header=T,sep= ",") #load distance matrix
sub_districts <- read.dbf("ku_pl.dbf") #load sub_district data
#Set-Up and Assumptions
length <- 3550 #sets width of distance matrix
width <- 9 #sets length of distance matrix
x <- matrix(0,length,width) #ground level concentration (micro-g/m^3)
Q <- 1000 #assume source strength
s <- 9 #assume 10 stacks per firm all at the same height
alpha <- .008 #assumes neutral horizontal dispersion
beta <- .006 #assumes neutral vertical dispersion
u <- 3 #assumes constant wind speed in all directions
PM_before <- 0 #sets initial PM Level Vector Before Intervention
PM_after <- 0 #sets initial PM Level Vector After Intervention
PM_data <- 0 #Sets initial value for final data
set.seed(1) #saves specific randomized values on next line
H <- 100 #random stack heights between 5 and 30 meters
#Gaussian Plume Model
for (j in 1:width) {
for (i in 1:length) {
x[i,j] <- (Q*s / (pi*(y[i,j]*alpha/((1+.0001*y[i,j])^.5)*(y[i,j]*beta/(1+.00015*y[i,j])^.5))*u))*
(exp(-.5*(H[j]/(y[i,j]*beta/(1+.00015*y[i,j])^.5))^2))
}
}
PM_before <- rowSums(x)*1000 #sum over all industry contributions to PM, convert from g to mg
PM_after <- .60 * PM_before #assume the treatment reduces PM to 60% original concentration
PM_data <- cbind(sub_districts,PM_before,PM_after)
write.dbf(PM_data, "ku_pl.dbf")`
如果我运行这个模型,我会收到这条消息
Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
它告诉我什么?它适用于一个来源,但不适用于这个来源。
【问题讨论】:
-
您的代码基于我们没有的数据文件运行。请发布数据或其中的至少一部分,以便我们拥有reproducible example。
-
我只在尝试绘制所有缺失的数据时看到过该错误 - 例如
plot(NA,NA),但我在这里看不到绘图。哪一行产生了错误?