R语言批处理中国地面气候资料日值数据集(V3.0)
R语⾔批处理中国地⾯⽓候资料⽇值数据集(V3.0)
R语⾔批处理本⽂的处理数据、说明⽂档以及脚本,在这⼉ (我的CSDN博客下载中~)
⼀、数据内容结构简介
以⽉为单位,每个⽂件代表⼀个⽉,每个⽂件中包括所有站点的详细数据(可能是全国的⽓象站点)
"中国地⾯⽓候资料⽇值数据集(V3.0)"包含了中国699个基准、基本⽓象站1951年1⽉以来本站⽓压、⽓温、降⽔量、蒸发量、相对湿度、风向风速、⽇照时数和0cm地温要素的⽇值数据。
如图,
其中各列含义依次为
“站点”,“纬度”,“经度”,“海拔”, “年”,“⽉”,“⽇”,“平均⽓温”, “最⼤⽓温”,“最⼩⽓温”
⼆、所要实现的效果
源数据是以⽉为单位,⽉⽂件下包含各个站点信息。
所要实现的效果是,以站点为单位,每个站点为⼀独⽴⽂件,该⽂件下包括各⽉数据。
本次要单独提出⼏个站点数据,代号为50136,51470,52602,54351的站点,即每个⽉⽂件下的第⼀列数据。
若要提取所有数据,代码更改部分下⽂已有简单说明
ps:平均、最⼤、最⼩⽓温数据需要进⾏单独处理,除10.
最终效果图⽰:
三、R脚本实现
3.1初级版本——部分站点提取
#检索每⼀个⽂件内容----------------------------------------------
for (flie in 1:length(flies)) {
data<-read.table(file = flies[flie])
#将数据按照V1列分组(站点列)
sites=split(data,f=data$V1)
#定义所需站点数组,若要提取所有数据,只需更改此处,以及site  #即以下三列,for控制改为length(sites)
partldata=c(50136,51470,52602,54351)
for (i in partldata) {
#单独⼀个站点的数据(dataframe格式)
site=data.frame(sites[[paste(i)]])
write.table(site[,1:10],#只取前10列
paste(sites[[paste(i)]][1,1],
"站点.csv"),#⽂件名
sep = "," ,#以“,”分割才能有正常格式,很迷
append = T,#每个⽂件(每个⽉份)的数据都依次追加
row.names = F,
col.names = F)
print(paste(i,"完成"))
弯的组词}
print("Yeah! ⼜完成了⼀个⽂件")
}
print("Good!")
#为其添加列名,并处理⽓温数据-------------------------------------
#搜索出完成的⽂件,以“5”开头、“.csv”为结尾为特征搜索
data5=list.files(pattern = "5*.csv$")
for (j in 1:length(data5)) {
datacsv=read.csv(data5[j],header = F)
names(datacsv)<-c("站点","纬度","经度","海拔",
"年","⽉","⽇","平均⽓温",
"最⼤⽓温","最⼩⽓温")
#datacsv$平均⽓温<-datacsv$平均⽓温/10
#datacsv$最⼤⽓温<-datacsv$最⼤⽓温/10
#datacsv$最⼩⽓温<-datacsv$最⼩⽓温/10
write.table(datacsv,
paste(data5[j]),
sep = "," ,
append=F,
row.names = F)
}
3.1终极版本——全部站点处理
(此版本为后期更新,未在下载中存留)
flies
#检索每⼀个⽂件内容----------------------------------------------
for (flie in 1:length(flies)) {
data<-read.table(file = flies[flie])
#将数据按照V1列分组(站点列)
sites=split(data,f=data$V1)
for (i in 1:length(sites)) {
#单独⼀个站点的数据(dataframe格式)
site=data.frame(sites[i])
write.table(site[,1:10],#只取前10列
paste(sites[[i]][1,1],
"站点.csv"),#⽂件名
sep = "," ,#以“,”分割才能有正常格式,很迷
append = T,#每个⽂件(每个⽉份)的数据都依次追加
row.names = F,
col.names = F)三八妇女节休假半天是法定吗
print(sites[[i]][1,1])
}
print("Yeah! ⼜完成了⼀个⽂件")
四级分数分配}
print("Good!")
#为其添加列名,并处理⽓温数据-------------------------------------
#搜索出完成的⽂件,以“5”开头、“.csv”为结尾为特征搜索
data5=list.files(pattern = "5*.csv$")
for (j in 1:length(data5)) {
datacsv=read.csv(data5[j],header = F)
#names(datacsv)<-c("站点","纬度","经度","海拔",
#                  "年","⽉","⽇","平均⽓温",
#                  "最⼤⽓温","最⼩⽓温")
datacsv$V8<-datacsv$V8/10
datacsv$V9<-datacsv$V9/10
datacsv$V10<-datacsv$V10/10
write.table(datacsv,
paste(data5[j]),
sep = "," ,
append=F,
row.names = F,
col.names=F
)
}
P.S. 代码后期做了微⼩的调整。
终极版本运⾏环境如下(包含运⾏结果)
环境下为各个⽓象TXT⽂件,运⾏各个站点⽂件则直接放在该⽬录下。
独生子女能否继承全部遗产
四、统计各站点所有年⽉份的⽓温总和shp输出
4.1运⾏环境
五一劳动节经典语句在以上处理结果的基础上,对各个分开的各个站点进⾏汇总统计。
省份简称具体来说,也就是,在步骤三的基础上 (所有的站点)
已经⽣成好了所有的站点⽂件。其中,result⽂件夹为存放结果数据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。