预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

求助(qiúzhù)符 ? help() 例子: >3+5 >3-5 >3/5 >3^5 >x=5 >?plot >help(plot)向量 向量是R中最为基本的类型 一个向量中元素的类型必须相同(xiānꞬtónꞬ),包括 数值型 整型 单精度实型 双精度实型 逻辑型 复值型 字符型建立向量的方法(fāngfǎ)(函数) seq()或:若向量(序列)具有较为简单的规律 rep()若向量(序列)具有较为复杂的规律 c()若向量(序列)没有什么规律 例子: >1:10 >seq(1,10,by=0.5) >seq(1,10,length=21) >rep(2:5,2) >rep(2:5,rep(2,4)) >x=c(42,7,64,9) >length(x)向量(xiàngliàng)运算中的循环法则(recyclingrule) >1:2+1:4 >1:4+1:7向量的下标(index)与向量子集(元素)的提取 正的下标提取向量中对应的元素 负的下标去掉向量中对应的元素 逻辑运算提出向量中元素的值满足条件的元素 注:R中向量的下标从1开始,这与通常的统计或数学软件一致而象C语言等计算机高级(gāojí)语言的向量下标则从0开始! 例子: >x=c(42,7,64,9) >x[1] >x[-2] >x[c(1,4)]>x>10 #值大于10的元素(yuánsù)逻辑值 [1]TRUEFALSETRUEFALSE >x[x>10]#值大于10的元素(yuánsù) [1]4264 >x[x<40&x>10] >#产生(0,1)上100个均匀分布随机数 >y=runif(100,min=0,max=1) >sum(y<0.5)#值小于0.5的元素(yuánsù)的个数 [1]47 >sum(y[y<0.5])#值小于0.5的元素(yuánsù)的值的和 [1]10.84767数据框架(dataframe) 许多数据集是数据框架的形式出现 一个数据框架就是将许多向量组合起来的一个对象,它是二维的,通常其列表示变量,其行表示观测。 建立(jiànlì)数据框架的方法(函数) 若你的数据本身保存在一个文件中,则可以使用 read.table()仅接受带有分界符的ASCII数据 如果数据是电子报表的形式,则采用下面的两种变型 read.csv()先将数据另存为带逗号的数据(CommaSeperatedvalues) read.delim()先将数据另存为用tab作为分界符的数据 注:若数据集很大(如1,000,000观测x200变量),则可由ODBC联接由数据库读入.若你在R中建立了一些向量并试图想由它们生成框架,则可以使用data.frame(),但需要同时(tóngshí)cbind(). 例子: >x=c(42,7,64,9) >y=1:4 >z.df=data.frame(cbind(INDEX=y,VALUE=x)) >z.df INDEX VALUE 1 1 42 2 2 7 3 3 64 4 4 9 注.df只是为了提醒自己z.df是一个数据框架INDEX和VALUE是重新命名的向量名字数据框架子集的提出取 格式(géshi)foo[row,column]其中foo 数据框架的名称row 需要提出取的行号column需要提出取的行号 例子(续上一例)列表(list) 复杂的数据分析时,仅有向量与数据框架还不够 有时需要生成(shēnꞬchénꞬ)包含不同类型的对象 R的列表(list)就是包含任何类型的对象 例子: >foo=list(x=1:6,y=matrix(1:4,nrow=2)) >foo $x [1]123456 $y [,1][,2] [1,]13 [2,]24列表子集的提出取 提取一个(yīꞬè)子对象如foo的x,下面三种方式等价>foo$x>foo[1]>foo[[1]]例子 >foo$y >foo[2] >foo[[2]] >foo[[1]][2] >foo$y[2] >foo$y[4]条件语句 作用:避免除零或负数的对数(duìshù)等数学问题 形式1:if(条件)表达式1else表达式2 形式2–常优于形式1!ifelse(条件,yes,no) 试比较下面的三个结果:>x=c(6:-4) >sqrt(ifelse(x>=0,x,NA)) >ifelse(x>=0,sqrt(x),NA) >if(x>=0)sqrt(x)elseNA循环(loops) for()#若知道终止条件for(变量in向量)表达式 while()#若无法知道运行次数(cìshù)while(条件)表达式 两者通常可以转换例1—试比较两种方法>for(iin1:5)print