- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 1.1 R的两种运行方式 交互模式:可以理解为用户输入,操作也在前台完成。举一例子: mean(abs(rnorm(100))) #按正态分布取100个随机变量,求其绝对值的均值 [1] 0.8821137 #注:每次运算结果是不一样的 #[1]代表输出的第一项,每行最多六项。 批处理模式:操作程序在后台完成。举一例子: pdf(“d:\\xh.pdf”) #保存文件在d盘 hist(rnorm(100)) #绘制直方图 dev.off() #关闭“图形设备”,使文件写入磁盘。 1.2 R会话基本用法 用数字生成数据集: x-c(1,2,,4) # c表示连接,-为赋值运算符;表示把向量(1,2,4)赋值给X。 向量的元素用[ ]来访问 x[3] [1] 4 提取子集的方式类似 x[2:3] [1] 2 4 R中有很多内置数据集,可以用下面的方法取出并进行其他操作。 data() mean(Nile); sd(Nile); hist(Nile) #计算尼罗河流量均值、标准差,并绘制直方图。 [1] 919.35 [1] 169.2275 直接关掉或调用q()都可以退出R,本次变量保存与否取决于退出时的回答 1.3 函数 函数是R语言编程的核心。以一个求向量中奇数个数的(把第四行稍加改动就可以变成求其他各种需要的函数)函数为例。 oddcount-function(x){ + k-0 + for(n in x){ + if(n%%2==1)k-k+1 + } + return(k) + } oddcount(c(1,3,5)) [1] 3 形参实参作用域就不多说了。 R语言默认参数这样定义: g-function(x,y=2,z=T){...} #有歧义时TURE和FALSE不能在缩写为首字母 调用时,可以使用默认值,也可以用新值覆盖。 g(12,z=FALSE) #x=12,y=2,z=FALSE 1.4 R语言中的数据结构 向量:可以是字符模式(用mode函数调用可显示向量模式),也可以是数值模式,但不可以混合。 字符串:字符模式的单元素向量。有些函数可以把字符串连接或拆开(如paste和strsplit) u=paste(abc,de) u [1] abc de v=strsplit(u,) v [[1]] [1] a b c d e v=strsplit(u) 错误于as.character(split) : 缺少split v=strsplit(u,,) v [[1]] [1] abc de v=strsplit(u, ) v [[1]] [1] abc de 矩阵:矩形的数值数组,有行列属性的向量。可以由向量拼接,也可以直接定义。 m- rbind(c(1,3),c(2,4)) m [,1] [,2] [1,] 1 3 [2,] 2 4 m- matrix(c(1,2,3,4),nrow=2) #注意,R中矩阵是一列一列输出的。 m [,1] [,2] [1,] 1 3 [2,] 2 4 可以从矩阵中提取子矩阵,方法和向量类似。 注意:下标从1开始。 列表:更广义的向量,各项可以混合不同数据类型。列表元素可以分别访问。具体语法如下: x-list(u=2,v=abc) x $u [1] 2 $v [1] abc x$u [1] 2 当统计函数产生复杂的结果时,列表特别有用,它能包容各种信息。列表中的信息可以用print函数或structure函数打印到屏幕上。 数据框:通常通过读取文件或数据库创建,也可以用data.frame创建。 注:数据框的创建和子集的读取语法都比较严格。 data.frame(list(kids=c(jack,jill),ages=c(12,10))) kids ages 1 jack 12 2 jill 10 data$ages 错误于data$ages : 类别为closure的对象不可以取子集 data.frame$ages 错误于data.frame$ages : 类别为closure的对象不可以取子集 ddata.frame(list(kids=c(jack,jill),ages=c(12,10))) d$ages [1] 12 10 data.frame(list(kids=c(jack,jill),ages=c(12,10)))$ages [1] 12 10 类:有类名的列表。本身可以看做特殊的数据类型。在泛型函数编程中应用 1.5 一个实例:读取文件并进行各种操作: a
文档评论(0)