Coursera课程-r语言-程序作业1

本文介绍了Coursera上的一份R语言编程作业,涉及处理美国大气污染数据。作业包括三个部分:1) 编写'pollutantmean'函数计算污染物平均值;2) 编写'complete'函数统计完整记录数;3) 编写'corr'函数计算相关系数。作业要求处理zip文件中的csv数据,去除空值并进行统计分析。
摘要由CSDN通过智能技术生成

题目介绍:

r语言课程的第一个程序作业。将要编写3个函数。实验数据为“美国大气污染”的数据,可以从Coursera上下载,下载后的文件为zip文件。需要自行解压缩并添加到你的作业项目中。

数据介绍:

zip文件可以从这里下载:
specdata.zip [2.4MB]
这个zip文件中包含了332个csv文件。csv文件中记录着检测大气质量的数据,记录着美国332个地区的“细微颗粒值(PM值)”。每个csv文件中代表着一个监测地区的记录。例如:地区200的大气数据,记录在文件“200.csv”中。每个文件包含三个变量:
-Date:date的数据以“YYYY-MM-DD”的方式存储
-sulfate:空气中硫化物颗粒水平
-nitrate:空气中硝化物颗粒水平
本作业中,你需要解压缩这个zip文件,并保存在目录名为“specdata”的文件夹下。你可以打开csv文件观察数据,你会发现里面包含着很多空值,这在空气质量监控的数据集中非常常见。

Part1

第一部分功能介绍:

编写一个函数“pollutantmean”能够计算指定文件列表中所有大气数据的污染物(sulfate或者nitrate)的均值。这个函数有三个属性,分别是’directory’、’pollutant’和’id’。’directory’代表文件目录,’pollutant’代表污染物的名称,’id’代表文件序列,是一个数值向量。注意,在数据处理中,你需要去掉空值。

第一部分程序实现:
pollutantmean <- function(directory, pollutant, id = 1:332) {
  filenames<-dir(directory, full.names=T)
  n<-length(id)
  m<-rep(0,n)
  ct<-rep(0,n)
  for(i in id){
    data<-read.csv(filenames[i],header=TRUE)
    ct[match(i,id)]<-sum(!is.na(data[pollutant]))
    m[match(i,id)]<-mean(as.matrix(data[poll
variance.model = list(model = "sGARCH", garchOrder = c(1, 1),submodel = NULL, external.regressors = NULL, variance.targeting = FALSE) distribution.model = "norm" ugarchfit(spec, datax, out.sample = 0, solver = "solnp", solver.control = list(),fit.control = list(stationarity = 1, fixed.se = 0, scale = 0)) myspec=ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE), distribution.model = "norm") myfit=ugarchfit(myspec,data=datax,solver="solnp") #rugarch包中模型结果的提取要依靠as.data.frame函数。比如提取模型的拟合值 as.data.frame(myfit,which="fitted") #提取残差序列: as.data.frame(myfit,which=" residuals") #提取方差序列: as.data.frame(myfit,which="sigma") #当然,也可以同时查看所有: as.data.frame(myfit,which=all) #通过plot(myfit)可以对模型结果进行图形诊断: plot(myfit) #如果模型通过检验,可以用ugarchforcast函数对未来进行预测: for<-ugarchforcast(myfit,n.ahead=20) library(zoo) #时间格式预处理 library(xts) #同上 library(timeSeires) #同上 library(urca) #进行单位根检验 library(tseries) #arma模型 library(fUnitRoots) #进行单位根检验 library(FinTS) #调用其中的自回归检验函数 library(fGarch) #GARCH模型 library(nlme) #调用其中的gls函数 library(fArma) #进行拟合和检验
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值