• R语言
  • “错误于XXXXXX: 数学函数中用了非数值参数”是什么意思?

> poll=read.table("E:/stat3008/sleuthdata/ex1123.csv",header=T,sep=",")

> poll=poll[,-1]

> names(poll)

[1] "MORT" "PRECIP" "EDUC" "NONWHITE" "NOX" "SO2"

> library(lattice)

> splom(~poll)

> splom(~log(poll))

> poll.reg=lm(log(poll$.MORT)~log(poll$.PRECIP)+log(poll$.EDUC)+log(poll$.NONWHITE)+log(poll$.NOX)+log(poll$.SO2))

错误于log(poll$.MORT) : 数学函数中用了非数值参数

楼主,同一个问题尽量放在一个帖子里面哦[s:11]

顺便,这里好像应该写poll$MORT吧,为什么要加个点号?

回复 第2楼 的 波波头一头:因为我们上课的例题里有个. 我去了试试。不好意思,急死我了,而且又装不了英文版的R,所以也不知道这个错误的英文是什么,谁可以告诉我怎么装英文版的R?我都不知道问谁了,老师可不懂中文。

1 年 后

回复 第1楼 的 csillia:请问您这个问题解决了吗?

回复 第2楼 的 波波头一头:您好,我也遇到了类似问题,代码中tmp的位置是在错误lop(tmp)之后

+ month.profile=list(tra.month, pow.month, liv.month, ind.month))

D:\1/20100716150000

[1] "resample emissions"

错误于log(tmp) : 数学函数中用了非数值参数

>

> tmp = readfile.csv(res.fn)

> #tmp$dtm = tmp$dtm + 8/24

请问,是怎么回事呢?谢谢

回复 第7楼 的 波波头一头:

INTEX.path = "E:\\Flexpart\\INTEXB2006_yy"

para = "CO"

flex.dir = "D:\\1"

res.fn = "D:\\1\\test.csv"

outt = seq(3,24*20,3)

##########################

paths = dir(flex.dir, "^[0-9]+[0-9]$", full.names=TRUE)

res = simulate.vmr.ts(paths,E=list(tra=E.tra, pow=E.pow, liv=E.liv, ind=E.ind), outt = outt, file=res.fn, overwrite=FALSE,

hour.profile=list(tra.hour, pow.hour, liv.hour, ind.hour),

week.profile=list(tra.week, pow.week, liv.week, ind.week),

month.profile=list(tra.month, pow.month, liv.month, ind.month))

##############################

tmp = readfile.csv(res.fn)

#tmp$dtm = tmp$dtm + 8/24

tmp$total = apply(as.matrix(tmp[, c("tra_168_1", "pow_168_1", "liv_168_1", "ind_168_1")]), 1, sum)

plot.time.series(tmp, c("tra_168_1", "pow_168_1", "liv_168_1", "ind_168_1", "total"), ylim=c(0,1500))

这是代码关于tmp部分~您看看~

readfile.csv是个啥函数啊?tmp是个数据狂吧?里面有非数值的字段么?

回复 第9楼 的 波波头一头:

tmp = readfile.csv(res.fn)

res.fn = "D:\\1\\test.csv" 这个csv是生成的结果

看这两句 能不能说明tmp是在调用生成结果呢?

回复 第10楼 的 MDLLMDLL:我也不知道生成结果是啥样子的。。。打印出来检查一下呗

回复 第11楼 的 波波头一头:现在生成不了这个结果呢 你有Q没?能不能?

simulate.vmr.ts不知道是啥,不过我想一般不会对整个数据狂求对数的吧?

回复 第13楼 的 波波头一头:我q,四六8136033.