版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R七种之数据plyr讲师R七种之数据DATAGURU专业数据分析社区plyr——第3周法律【】和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被法律和经济责任。课程详情
炼数成金培训http:
DATAGURU专业数据分析社区R七种之数据plyr讲师关注炼数成金企业提供全面的数据价值资讯,涵盖商业智能与数据分析、大数据、企业信息化、数字化技术等,各种高性价比课程信息,赶
出您
机关注吧!DATAGURU专业数据分析社区R七种之数据plyr讲师案例分析baseball案例ozone案例DATAGURU专业数据分析社区R七种之数据plyr讲师Baseball数据集职业棒球球手15年或以上的击球记录Baseball数据集包含了全id:棒球选手year:记录的年份rbi:runsbatted
in,该球员在某一赛季的击球的跑垒得分ab:number
of
times
at
bat,击球次数head(baseball,5)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball求某一选手职业生涯时间baberuth
<-
subset(baseball,
id
==
"ruthba01")baberuth
<-
transform(baberuth,
cyear
=
year
-
min(year)+
1)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball求所有选手的职业生涯时间baseball
<-
ddply(baseball,.(id),
transform,cyear
=
year
-
min(year)
+
1)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball生成所有人的rbi/ab的时间序列图并保存到pdf中baseball
<-
subset(baseball,
ab
>=
25)xlim
<-
range(baseball$cyear,
na.rm=TRUE)ylim
<-
range(baseball$rbi
/
baseball$ab,
na.rm=TRUE)plotpattern
<-
function(df)
{qplot(cyear,
rbi
/
ab,
data
=
df,
geom
=
"line",
xlim
=xlim,
ylim
=
ylim)}pdf("paths.pdf",
width
=
8,
height
=
4)d_ply(baseball,
.(reorder(id,
rbi
/
ab)),
failwith(NA,
plotpattern),.print=TRUE)dev.off()DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseballDATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball对ruthba01做线性回归model
<-
function(df)
{lm(rbi
/
ab
~
cyear,
data
=
df)}model(baberuth)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball对所有选手做线性回归bmodels
<-
dlply(baseball,
.(id),
model)rsq
<-
function(x)
summary(x)$r.squaredbcoefs
<-
ldply(bmodels,
function(x)
c(coef(x),
rsquare
=
rsq(x)))names(bcoefs)[2:3]
<-
c("intercept",
"slope")head(bcoefs,5)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball查看线性方程拟合效果hist(bcoefs$rsquare,breaks=20,col="black")DATAGURU专业数据分析社区R七种之数据plyr讲师案例:baseball找出拟合得较好的模型baseballcoef
<-
join(baseball,
bcoefs,
by
=
"id",type="inner")subset(baseballcoef,
rsquare
>
0.999)$idmatch_df(baseball,subset(baseballcoef,
rsquare
>
0.999),on="id")DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone数据集介绍:Ozone数据集是一个三维数组,记录了24×24个空间网格内,从月,共72个时间点上,
洲每月的平均臭氧水平。前两维分别表示纬度和经度,第三维表示时间。年月到年DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone研究位置(1,1)在不同时点臭氧水平的变化。方法一:按照所有时间点画出折线图value
<-
ozone[1,
1,
]time
<-
1:72
/
12plot(c(1:72),value,main=NULL,xlab="time",ylab="value",type="l")box(bty="l")grid(nx=NA,ny=NULL,lty=1,lwd=1,col="gray")DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone方法二:对不同年份按时点画出折线图plot(value[1:12],type="b",pch=19,lwd=2,xaxt="n",col="black",xlab="month",ylab="value")axis(1,at=1:12,labels=c("Jan",
"Feb",
"Mar",
"Apr",
"May","Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"))lines(value[13:24],col="red",type="b",pch=19,lwd=2)lines(value[25:36],col="orange",type="b",pch=19,lwd=2)lines(value[37:48],col="purple",type="b",pch=19,lwd=2)lines(value[49:60],col="blue",type="b",pch=19,lwd=2)lines(value[61:72],col="green",type="b",pch=19,lwd=2)legend("bottomright",legend=c("1995","1996","1997","1998","1999","2000"),lty=1,lwd=2,pch=rep(19,6),col=c("black","red","orange","purple","blue","green"),ncol=1,bty="n",cex=1.2,text.col=c("black","red","orange","purple","blue","green"),inset=0.01)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:OzoneDATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone对位置(1,1),以月份为自变量,做一个稳健线性回归month.abbr
<-
c("Jan",
"Feb",
"Mar",
"Apr",
"May","Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec")month
<-
factor(rep(month.abbr,
length
=
72),
levels
=
month.abbr)year
<-
rep(1:6,
each
=
12)library("MASS")deseas1
<-
rlm(value
~
month
-
1)summary(deseas1)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone画出残差图DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone观察稳健回归模型的系数coef(deseas1)稳健回归方程DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone对所有24×24=576个位置做稳健线性回归deseasf
<-
function(value)
rlm(value
~
month
-
1,
maxit
=
50)models
<-
alply(ozone,
1:2,
deseasf)用failed
无法实现稳健线性回归的位置failed
<-
laply(models,
function(x)
!x$converged)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone提取所有模型的系数和残差coefs
<-
laply(models,
coef)dimnames(coefs)[[3]]
<-
month.abbrnames(dimnames(coefs))[3]
<-
"month"deseas
<-
laply(models,
resid)dimnames(deseas)[[3]]
<-1:72names(dimnames(deseas))[3]
<-"time"coefs是一个三维数组,记录了所有24×24个位置中每个位置的12个系数>dim(coefs)[1]
24
24
12deseas是一个三维数组,记录了所有24×24个位置中每个位置的72个残差dim(deseas)[1]
24
24
72DATAGURU专业数据分析社区R七种之数据plyr讲师案例:OzoneDATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozonecoefs_df
<-
melt(coefs)head(coefs_df)coefs_df
<-
ddply(coefs_df,
.(lat,
long),
transform,
avg
=
mean(value),std
=
value/max(value))head(coefs_df)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozonedeseas_df
<-
mehead(deseas_df)eseas)DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozonecoef_limits
<-
range(coefs_df$value)coef_mid
<-
mean(coefs_df$value)monthsurface
<-
function(mon){df
<-
subset(coefs_df,
month
==mon)qplot(long,
lat,
data
=
df,
fill
=
value,
geom="tile")
+scale_fill_gradient(limits
=
coef_limits,low
=
"lightskyblue",
high
=
"yellow")}DATAGURU专业数据分析社区R七种之数据plyr讲师案例:Ozone以下两幅图分别展现了1月与7月的区域差异。months
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版二手车买卖交易佣金合同3篇
- 法律事务所实习心得
- 项目决策支持系统实证研究-洞察分析
- 隔音墙安装合同全文
- 高层建筑火灾安全管理计划
- 珠宝设计师珠宝鉴赏工艺设计
- 二零二五年驾校学员夜间道路驾驶培训协议3篇
- 正规借款合同范本
- 年度网络路由器市场分析及竞争策略分析报告
- 年度钽丝战略市场规划报告
- 物权转移协议
- 高三高考地理一轮课时练习:洋流(单选题)
- 2024年餐饮类“食品安全及质量管理员”知识考试题库(附含答案)
- 三年级上册寒假每日一练
- (正式版)SHT 3115-2024 石油化工管式炉轻质浇注料衬里工程技术规范
- 超声引导下心包穿刺置管术
- 无人机驾驶员航空知识手册培训教材(多旋翼)
- 员工年度工作计划范文
- 古诗文系列课件模板-清平调·其一
- 桩身完整性考试试题及完整答案(包括低应变、钻芯、声波透射法)
- 类文阅读:一起长大的玩具(金波)
评论
0/150
提交评论