《R语言学习总结.docx》由会员分享,可在线阅读,更多相关《R语言学习总结.docx(12页珍藏版)》请在第壹文秘上搜索。
1、例:(1)参数运用 hp_per_cyl splat(hp_per_cyl)(mtcars1,)1 18.33333splat(hp_pcr_cyl)(mtcars)118.3333318.3333323.2500018.3333321.8750017.5000030.6250015.5000023.75000(10120.5000020.5000022.5000022.5000022.5000025.6250026.8750028.7500016.50000(1913.0000016.2500024.2500018.7500018.7500030.6250021.8750016.500002
2、2.750002828.2500033.0000029.1666741.8750027.25000等价干:hp_per_cyl(mtcars$hp,mtcars$cyl)splat函数的优点就是可以不用拆分字段,可以一趟t入作为参数.(2)与Plyr函数合用: f ddply(mtcars,.(cyl),Splat(O) nmissing colwise(nmissing)(baseball) colwise(nmissing,.(sb,cs,so)(baseball) ddply(baseball,.(year),colwise(nmissing,.(sb,cs,so) numcolwise
3、(nmissing)(baseball)colwise(nmissing,is.numeric)(baseball) catcolwise(nmissing)(baseball)等价于:colwise(nmissing,is.discrete)(baseball)4failwith函数failwith(default=NU1.1.,f,quiet=FA1.SE)作用:修正一个函数,使得当该函数出现错误时返回一个设定的默认值,默认为空。作用结果生成一个新的函数。 ff(DErrorinf(l):Error safef safef(l)Errorinf(.J:ErrorNU1.1.safefful
4、l;match:all(全部匹配上的其他属性值都带上)、first(只带上匹配上的第一个属性值) join(t1,t2,by=x2,type=inner) join(t1,t2,by=x2,typc=lcft) join(tl,t2,by=x2,type=rightj ttl tt2x2=c(6,6,6,6) join(ttl,tt2,by=x2,type=inner,match=all)xlx2yljoin(ttl,tt2,by=x2,type=inner,match=firsfjx2xlylOutputInputArrayDataframe1.istDiscardedArrayaaplya
5、dplyalply三-piyDataframedaplyddplydlplyd-piy1.istIaPIyIdplyHpiyI-PIya*pfy(.datat.margins,.fun,progressnone)参数说明:data是要进行处理的数组.margins是用哪种方式去切割数据,取值为1,2,c(l,2).fun是对切割的数据指定个函数进行处理,progress确定是否显示与用哪种方式显示进度条 aaply(a,1,mean,.progress=none) aaply(a,1,mcan,.progress=text)以文本形式展示进度条 aaply(a,1,mean,.progress
6、=win)windows窗口展示进度条d*ply(.data,.variables,.hu.,.progress-none)分数说明:.variables指定要按其分割的变成名称daply(data,.(age),.fun=amean)daply(data,.(sex),.fun三amean)daply(data,.(age,sex),.fun=amean)ddply(data,.(sex),.fun=amean)dlply(data,.(sex),.fun=amean)Fpfyfdatay.fun,.progress-none)说明:列表类型的数据是最简洁的数据,因为它已经被分割成个个r(也
7、就是列表数据的一个个元素),所以这类函数没有参数用来描述是按什么进行切分的Cllply(list,mean)laply(list,mean)ldply(list,mean)m*ply(.datat.fun-NU1.1.,.Inform-FA1.SE,)说明:把参数放到array或dataframc中整体输入作为参数,然后fun后面的函数运用.data中的相应数值作为参数分别作用,得到dataframe(mdply),array(maply)或者IiSt(mlply)0与splat相像:m*ply(a_matrix,FUN)的作用和a*ply(a_matrix,1,SPIat(FUN)一样。da
8、ta=data.frame(nc(10,100,50),mean=c(5,5,10),sd=c(1,2,1)datanmeansd1 10512 100523 50101mlply(data,rnorm)2观潮值出现个数(1)count函数:count(df,vars=NU1.1.,wt_var=NU1.1.)参数:df是要处理的数据框;vars是要进行分组统计的变盘;wt_var为权重。留意:该函数的功能类似于table例:基础数据:a=data.frame(names=c(a,b,c,d,a,a,a,b,b,c),wt=C(1,1,1,1,2,2,2,2,2,2) count(a,vars
9、=names)-一单变量分组 count(a,vars=names,wt_var=wt)-加上权重 count(a,c(names,wfj)-双变量分组运用R软件可以便利直观的对数据进行描述性分析。如运用均值、中位数、依次统计量等度侬位置;用方差、标准差、变异系数等度被分散程度;以与用峰度系数、偏度系数度量分布形态。例如在窗口中输入:x-seq(1,589,3)length(x);mean(x);var(x);sd(x);median(x);100*sd(x)/mean(x)Ul197#长度Ul295#均值129254.5#方差(1|171.0395#标准差1295#中位数(1|57.9794
10、8#样本标准差n-length(x);m-mean(x);slines()text。、polygon()legend()title。和axis。等。须要留意的是低水平作图函数必需是在高水平作图函数所绘图形的基础之上增加新的图形。hist()函数可以做出已知数据的直方图,StCmo函数可以作茎叶图,boxplot()函数可用作箱线图,qqline()和qqmorm()可以做出正态QQ图和相应的直线。R语言同时还能对两组数据进行相关性检验,cor.test()函数供应了Pearson相关性检验,SPealman秩检验和Kendan秩检验。其原假设为两组数据不相关,通过P值的大小来推断是否拒绝原假设
11、。我们还能用StarSo函数作出星图,来表示多元数据,以上用法都特别简洁易用,这里就不再赘述。3、R语音在跳计推断中的应用首先,R语旨可以用来进行参数估计;统计学中我们应用矩估计和极大似然估计来进行点估计,短估计是通过解正规方程组得到参数估计的值;极大似然估计通过解极大似然函数的极值点得到参数估计的值。在R中我们可以运用Newton迭代法求解正规方程组,获得矩估计;用。PtimiZCo函数求解极大似然函数,获得最大似然估计;由此可见,R语言能够很便利的解决参数庶估计问题。点估计给出未知参数的近似值以后,并不能知道这种估计的精确性如何,可信程度如何,为了解决这些问题,就须要用到区间估计,在学习用
12、R语言解决区间估计问题的过程中,我最大的体会就是R软件中内置的一些函数极大地便利了我们处理详细问题。比如ttest()函数.对单个正态总体,向量X包含了来自该总体的一个样本,我们可以干脆用ttest(x)指令得到均值U的点估计和区间估计;对于两个正态总体,向境y包含了来自其次个总体的一个样本,我们可以用ttest(x,y)来得到均值型Ul-U2的点估计和区间估计,其中当两个总体方差相同时,只须要加上var.equal=T(缺省值为F,即默认两个总体的方差是不同的);同时t.test()函数不仅可以进行双侧置信区间估计,也能进行单侧置信区间估计,只须要在括号内加tal=wP或者上=gwO当数据不听从正态分布是,可以利用中心极限定理,取较大的样本俄,构造近似听从正态分布的统计及进行估计。其次,R语宫可以用来进行假设检验。假设检验也是统计推断中的一个重要的内容,在统计学中,我们用搜寻到的数据对某个事先作出的统计假设依据某种设计好的方法进行检脸,来推断此假设是否正确C也就是说为了检验一个