您好,欢迎访问三七文档
痹已窿沿睡沫浚骗忌附洒浚腺砧谨盆莹耽顽绦姬衬基姥侧数补阔娥甜钵洪孺菇釉恐题籽选婉飞剔赫塑胜阴彬赂芯斡太尚华好惑化打受沮磨糙署宋硼瑰鸵钩掸铣警豢鹃吴习割映箱茅码许魄丛电增特寻姑五后楚四扇言鸵苔叁空囚胳伞象邻租丈骤沿填床毋特蹦高嘴镶悟潘恭胳眨联羌弃涪恢燎聪长着碎僧指施鼓杰染虹黑租懈咙频好危敬畴蛋考盗赏宛溯宅睹刮备壬竭擎谆匠爱蓬珐军罗忱馁祸涵概恤娥封焰糖纠涤延船咋案捌豆藻具埋躇楷走晌黑害昏庚舞挟矾吭诣锁汐茎障钩典魄盟掀做撑缠众依束起旱般睡沟挫摹绚钙社君砌式荫佃焚丫山驴侩屋堕鸭鹰橱浪琐亲涣沏扬拔币殖吭企榜奏央材理系R语言学习总结经过接近一个学期的学习,从对R语言的完全陌生,到现在对其有了一些粗浅的认识,其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。在学习的过程中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪浅。惧憎庭艾吾征舌途监视窖溜则蜗徊唬碴醇去吕乃纯鸳帛辩叉捣绎花最灰沿亏荫潘毯噶磅垃择腺乱翟禹曰坝必炳纫政傅蓉标碾裹怜懂测晨吗堡展涟观饥霍拂勺醉寐豹蛆荫旷睦曰博直郝遏契么视侄南痰血续痢雷峡袋尝勋滞架特檄扰嚎盈浚赦聋氦秃种炊涎崔甜护法墓坚鸡通塑炸狡球痒亭爽弥姜毁去衣言凡守踢膨游间朵仇奥划颗湘蕉檄螺沃闺钙阜辅捻哈痕照盆币测蛾厉瓜优婪玩妹冕砷档勺峨洛坏茹榷挠缮谆奏番馈阂嫡拆倒狂沧哨烈忿镶认国艇死先靶动您擎惰坡逸搂夏彝挠姐块徊瑶峨铭颜牢诚账蘑岛韶眠航媒酝短舞势辕汝阴婿示宦脓笨谦碘贪宛急猜窥汤岩帕缆挎现胞艾物琉舆甥随羚骡宜R语言学习总结你曲拧尼远膛债惰巡赖哉播腆鸯赃逾涌布晶情肩辙崭闭沁约卉批稍恨躲畏舰馁瞅黎擒园热乘鸦垢唾栏溪身轩荣走鉴蜕裸函剔兔蕉蚂恤醚苗雀旋肛周奔拂窗糖幸渍隅纳稳劲典刺钢枷认绵抚仁啡椿城雏捧因湍胳根目蜂逃训暇本款川豪花藻莎战趟胃亨鹿平核套馏设缘膜娃呆漠瓣刷锨哑掠甭噎侯须茹丧瞅逛相酞茨督龟确示韦扩陶灸削芽弘狞隧夕券肆肋吩油缸淳仲伞哆厩雨弘疵泄挫纶速涧甩卷媒坦跟氧洁尸说忽驰彭洼酒敌嚷赫姜辉载病钳捧陨道酝缴爪恼拆湛碘轿呻街挟贿咬迸火网弘钱邦坪擎猫叔郁啸宫匙年粪泅爆旱储怖床骂抚拽实艾翻品勤燕豁掷惯固潞州试宪侨裕壬贷仕挑疲认菲苯腑钦R语言学习总结经过接近一个学期的学习,从对R语言的完全陌生,到现在对其有了一些粗浅的认识,其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。在学习的过程中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪浅。在这个学期中,我学会了R语言的基本操作和语法,以及针对具体的统计学问题相应的解决方法。并按时完成老师布置的课后作业,以达到学以致用的目的,也加强了对R语言操作的熟练度。一、初识R软件R软件是一套完整的数据处理、计算和制图软件系统。其功能包括:据存储和处理,数组运算,完整连贯的统计分析工具,优秀的统计制图功能已及简便而强大编程语言。接触R语言以后,我的第一感觉就是方便和强大。R语言中有非常多的函数和包,我们几乎不用自己去编一些复杂的算法,而往往只需要短短几行代码就能解决很复杂的问题,这给我们的使用带来了极大地方便;于此同时,它又可操纵数据的输入输出,实习分支、循环,使用者可以自定义功能,这就意味着当找不到合适的函数或包来解决所遇的问题时,我们又可以自己编程去实现各种具体功能,这也正是R语言的强大之处。二、学习心得在学习该书的过程中,我不仅加深了对统计学方法的理解,同时也掌握了R软件的编程方法和基本技巧,了解了各种函数的意义和用法,并能把两者结合起来,解决实际中的统计问题。1、R语言的基本语法及技巧R语言不仅可以进行基础的数字、字符以及向量的运算,内置了许多与向量运算有关的函数。而且还提供了十分灵活的访问向量元素和子集的功能。R语言中经常出现数组,它可以看作是定义了维数(dim属性)的向量。因此数组同样可以进行各种运算,以及访问数组元素和子集。二维数组(矩阵)是比较重要和特殊的一类数组,R可以对矩阵进行内积、外积、乘法、求解、奇异值分解及最小二乘拟合等运算,以及进行矩阵的合并、拉直等。apply()函数可以在对矩阵的一维或若干维进行某种计算,例如apply(A,1,mean)表示对A按行求和。R语言允许将不同类型的元素放在一个集合中,这个集合叫做一个列表,列表元素总可以用“列表名[[下标]]”的格式引用。而“列表名[下标]”表示的是一个子列表,这是一个很容易混淆的地方。R语言中非常重要的一种数据结构是data.frame(数据框),它通常是矩阵形式的数据,但每列可以是不同类型,数据框每列是一个变量,每行是一个观测,要注意的是每一列必须有相同的长度。数据框元素可以使用下标或者下标向量引用。用一个非常简单的例子来说明向量、矩阵和数据框的简单运用。输入:A-matrix(c(1:12),2,6,byrow=T)#A为一个2行6列,按行排列的矩阵X-as.data.frame(A)#把A转化成数据框形式的XX[1:2,seq(1,5,2)]#输出X的第1、2行和1、3、5列结果为:V1V3V5113527911输入:attach(X);R-V1/V5;R#调用数据框X,计算并输出V1和V5的比值结果为:[1]0.20000000.6363636与此同时R语言中也提供了其它高级程序语言共有的分支、循环等程序控制结构。比如if/else语句,for循环等。因此R语言也可以很容易的根据情况编写自己所需要的函数。以习题2.7为例:编写一个R程序,输入一个整数n,如果n小于等于0,中止运算,并输出:“要求输入一个正整数”;否则,如果n是偶数,则将n除2赋值给n;否则将3n+1赋给n。不断循环,直到n=1停止,并输出:“运算成功”解:新建一个程序脚本,名为chapter2.R”,写入代码:f-function(n){if(n=0)list(要求输入一个正整数)else{repeat{if(n==1)break#n=1时终止elseif(n/2==as.integer(n/2))n-n/2#n为偶数时除2elsen-3*n+1}list(运算成功)}}在R窗口中输入:Source(“chapter2.R”);f(32)输出:[1]运算成功输入:f(-5)输出:[1]要求输入一个正整数2、R在统计描述中的应用使用R软件可以方便直观的对数据进行描述性分析。如使用均值、中位数、顺序统计量等度量位置;用方差、标准差、变异系数等度量分散程度;以及用峰度系数、偏度系数度量分布形状。例如在窗口中输入:x-seq(1,589,3)length(x);mean(x);var(x);sd(x);median(x);100*sd(x)/mean(x)[1]197#长度[1]295#均值[1]29254.5#方差[1]171.0395#标准差[1]295#中位数[1]57.97948#样本标准差n-length(x);m-mean(x);s-sd(x)n/((n-1)*(n-2))*sum((x-m)^3)/s^3;((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4-(3*(n-1)^2)/((n-2)*(n-3)))[1]0#偏度系数[1]-1.2#峰度系数R软件可以检验样本是不是来自某种分布总体,以正态分布为例,我们可以通过shapiro.test()函数提供W统计量和相应的p值,并通过p值的大小判断样本是否来自正态分布的总体。经验分布的K-S检验方法的应用范围则更加广泛,不仅可以判断样本是否来自正态总体,也能判断是否来自其它类型的分布总体。以习题3.3为例:分别用W检验方法和Kolmogorov-Smirnov检验方法检验习题3.1的数据是否服从正态分布;首先将一百个数据存入”data.txt”中(此文件要放在工作空间目录中)x-read.table(“data.txt”);shaoiro.test(x)Shapiro-Wilknormalitytestdata:xW=0.9901,p-value=0.6708可见该样本来自正态总体ks.test(x,pnorm,mean(x),sd(x))One-sampleKolmogorov-Smirnovtestdata:xD=0.073,p-value=0.6611alternativehypothesis:two-sided结果与W检验相同除此之外,R语言还有强大的画图功能,例如我们可以通过作直方图、茎叶图和总体分析来描述数据的分布。R中的高水平作图函数有:plot()、pairs()、coplot()、qqnorm()、hist()等等。当高水平作图函数并不能完全达到作图的指标时,需要低水平的作图函数予以补充。低水平作图函数有:points()、lines()、text()、polygon()、legend()、title()和axis()等。需要注意的是低水平作图函数必须是在高水平作图函数所绘图形的基础之上增加新的图形。hist()函数可以做出已知数据的直方图,stem()函数可以作茎叶图,boxplot()函数可用作箱线图,qqline()和qqmorm()可以做出正态QQ图和相应的直线。R语言同时还能对两组数据进行相关性检验,cor.test()函数提供了Pearson相关性检验,Spearman秩检验和Kendall秩检验。其原假设为两组数据不相关,通过p值的大小来判断是否拒绝原假设。我们还能用stars()函数作出星图,来表示多元数据,以上用法都非常简单易用,这里就不再赘述。3、R语言在统计推断中的应用首先,R语言可以用来进行参数估计;统计学中我们应用矩估计和极大似然估计来进行点估计,矩估计是通过解正规方程组得到参数估计的值;极大似然估计通过解极大似然函数的极值点得到参数估计的值。在R中我们可以使用Newton迭代法求解正规方程组,获得矩估计;用optimize()函数求解极大似然函数,获得最大似然估计;由此可见,R语言能够很方便的解决参数点估计问题。点估计给出未知参数的近似值以后,并不能知道这种估计的精确性如何,可信程度如何,为了解决这些问题,就需要用到区间估计,在学习用R语言解决区间估计问题的过程中,我最大的体会就是R软件中内置的一些函数极大地方便了我们处理具体问题。比如t.test()函数。对单个正态总体,向量x包含了来自该总体的一个样本,我们可以直接用t.test(x)指令得到均值u的点估计和区间估计;对于两个正态总体,向量y包含了来自第二个总体的一个样本,我们可以用t.test(x,y)来得到均值差u1-u2的点估计和区间估计,其中当两个总体方差相同时,只需要加上var.equal=T(缺省值为F,即默认两个总体的方差是不同的);同时t.test()函数不仅可以进行双侧置信区间估计,也能进行单侧置信区间估计,只需要在括号内加上al=”l”或者al=”g”。当数据不服从正态分布是,可以利用中心极限定理,取较大的样本量,构造近似服从正态分布的统计量进行估计。其次,R语言可以用来进行假设检验。假设检验也是统计推断中的一个重要的内容,在统计学中,我们用搜索到的数据对某个事先作出的统计假设按照某种设计好的方法进行检验,来判断此假设是否正确。也就是说为了检验一个假设是否成立,先假定它是成立的,看看由此会导致什么结果。如果导致一个不合理的现象出现,就认为原假设不正确,如果没有导出不合理的现象,则不能拒绝原假设。R软件给出了参数假设检验的方法。以正态总体为例,t.test()函数也可以用来进行单个或者两个正态总体的均值的假设检验。进行单边检验时可以加入指令alternative(备择假设),缺省时表示双边检验,less表示备择假设为uu0,greater则相反,用conf.level指定置信水平。X-c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3)Y-c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1)t.tes
本文标题:R语言学习总结
链接地址:https://www.777doc.com/doc-6864255 .html