第一章_R__基础_02(非参数统计_2015)程序.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
因为R中对矢量的计算是对矢量中的各个元素单独进行的,因此在R中很容易对数据进行转换。如果生成了新的数据行或列,可以用rbind()或cbind()把它们组合到已有的数据框中。 相关函数 R中还有一些可以专门用于数据转换的函数,可以简化数据转化的操作: transform()可以对数据框中已有的元素的值进行转换,也可以利用已有的变量生成新的变量。 apply()可以把函数操作运用到矩阵的行或列上去。 lapply()可以把函数操作运用到列表或数据框中的行或列上去,返回值为列表。 sapply()与lapply()类似,但是返回值为矢量或矩阵。 vapply()与sapply()类似,但是返回值为特定的类型,可以提高运算的效率。 tapply()可以把函数操作分组运用到矩阵上去。 mapply() do.call() 可以进行有条件的转换: ifelse(test, yes, no) which() 数据编辑 R内置了简单的数据编辑器。 可以通过菜单 Edit-Data editor... 打开数据编辑器。 也可以通过fix()命令实现。 也可以通过edit()命令实现。特别注意edit()命令并不把修改的结果回传给变量,而是传给.Last.value对象,因此一般情况下不要使用edit()命令。 修改变量名 可以使用fix()调用内置编辑器直接修改。 可以使用reshape包中的rename()函数。 为变量设置标签 使用Hmisc包的label()函数。 删除变量 删除独立的对象:rm()。 删除数据框/列表中的某个变量:令其为NULL。 重新编码/赋值 把连续变量转变为分类变量:cut(),Hmisc包中的cut2()。寻找分割点:rpart包中的rpart(),Hmisc包中的tree()。 car包中的recode()。 组合数据行 rbind() 如果两组原始数据有不同的变量,可以使用reshape包中的rbind.fill()。 组合数据框 cbind() merge() reshape包中的merge_all() 数据汇总 aggregate() by() 缺失值 判断某个值是否缺失值:is.na() 判断某行数据是否完整:complete.cases() 剔除缺失值:na.omit() 重复数据 识别重复数据:duplicated() 去除重复数据:unique() 排序 可以用sort()函数对数组和矩阵内的元素进行排序。 用order()函数可以得到数组和矩阵排序后每个元素的位置。 A.5 编写程序 A.5.1 循环和控制 (1)控制结构 有if/else语句、switch语句. 1.if/else语句 if/else语句是分支语句中主要的语句, if/else语句的格式为 if(cond) statement_l 第一句的意义是:如果条件cond成立,则执行表达式statement_l;否则跳过, if(cond) statement_l else statement_2 第二句的意义是:如果条件cond成立,则执行表达式statement_l;否则执行表达式statement_2. if (条件) 表达式1 else 表达式2 x=1 if(x==1){print(“x is true”)}else{print(“x is false”)} 例如, x-c(2,3,1) if(any(x=0)) y-log(1+x) else y-log(x) 注意:此命令与下面的命令 y-if(any(x=0)) log(1+x) else log(x) 等价, 作用: 避免除零或负数的对数等数学问题 x = c(6:-4) if (x = 0) sqrt(x) else NA x=rnorm(1);if (x0) y=x else y=-x+10 (2) 循环结构 循环语句有for循环、while循环 1.for循环语句 for循环的格式为 for (name in expr_l) expr_2 其中name是循环变量, expr_l是一个向量表达式(通常是个序列,如1:20),expr_2通常是一组表达式。 如构造一个4阶的Hilbert矩阵: n-4; x-array(0, dim=c(n,n)) for(i in 1:n){ for(j in 1:n){ x [i,j] -1/(i+j -1) } } x 2.while循环语句 while循环语句while语句的格式为 while (condition) expr 当条件c

文档评论(0)

5201394 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档