|
使用R语言中SPEI包计算标准化降雨指数和标准化降雨蒸散指数,得到的指数值格式无法直接数据,例如:使用spei(),时间间隔为一个月,分别得到了每年十二个月的指数值,使用write.csv()函数导出数据是出现错误,请问应该如何将得到的值保存到CSV文件中?
程序如下:
library(lmomco)
library(SPEI)
banan <-read.csv("F:\r34\34ST\banan.csv")
banan$PET <- thornthwaite(banan$TMED,29.38)
spei1 <- spei(banan$PRCP-banan$PET,1)
前五个月的指数(后几个月没显示)为:
spei1
Jan Feb Mar Apr May
1 0.689213518 0.426660486 1.039459575 0.447077818 0.033249345
2 0.882734497 -0.628614940 -0.508390681 -0.632287720 0.468913809
3 -1.652393232 0.982181260 -1.092067688 0.186494758 0.987937345
4 -1.406426634 -1.739752698 -0.358519842 1.271276344 -0.795844339
5 -1.032659684 -0.248165642 0.740889101 -0.762742517 1.283647621
6 -0.388297696 0.094297764 -1.544747273 1.577359439 -0.310431553
7 0.221704538 -0.632614730 0.380616130 -1.484891209 0.948398700
然后保存数据:
write.csv(spei1,file="spei1.csv")
出现错误提醒:
错误于as.data.frame.default(x[], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class ""spei"" to a data.frame
本人也尝试使用别的方法导出数据,如write.table, write.csv,zoo等,但是并没有成功,因为时间序列公式的数据和其他数据格式不一样。最后无奈,只能将数据复制粘贴到txt中,然后转换到CSV文件中,这个过程太繁琐了,请问如何直接将数据保存到CSV中?
非常感谢!
|
|