ch1-R软件基本操作_第1页
ch1-R软件基本操作_第2页
ch1-R软件基本操作_第3页
ch1-R软件基本操作_第4页
ch1-R软件基本操作_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R软件基本操作R软件和软件包安装数学运算向量运算矩阵运算列表、数据框概率函数软件安装(Windows)当前版本3.2.2。至,点击左边download下链接CRAN

,任意选择一个镜像站点,比如USA下http://r.B

。在DownloadandInstallR中选择DownloadRforWindows

,点击base,选择文件DownloadR3.2.2forWindows

,点击鼠标右键另存为保存到指定目录中。下载好后安装R。软件包安装比如安装“BRugs”,可以使用命令>install.packages("BRugs",repos="http://r.B",dep=TRUE)调用软件包

>require(BRugs)#>library(BRugs)升级软件包>update.packages(repos="http://r.B",dep=TRUE)删除软件包

>remove.packages("BRugs",lib=file.path("path","to","library"))命令的执行主窗口REditor窗口(File-Newscript)require(Rcmdr)常用的小技巧查看工作目录:>getwd()[1]"D:/ProgramFiles/R/R-2.11.1”设定工作目录:>setwd("d:/ProgramFiles/R")>getwd()[1]"d:/ProgramFiles/R”取得帮助:>help.start()#打开帮助文档>help.search('paneldata')>RSiteSearch('KalmanFilter')>?lm查看对象类型:>typeof()>class()单引号和双引号的区别:>c("single'qutoe",'double"quote',"double\"quote",'single\'quote')[1]"single'qutoe""double\"quote""double\"quote""single'quote"更改选项设定>

options(prompt='R>',continue='R')运算符号+-*/^<<=>>===!=%%余数%/%商%in%判断>17%in%1:100[1]TRUE基本数学运算加减乘除乘方运算>5+6*7/12^(1/3)[1]23.34519指数对数运算>exp(2)#e^2[1]7.389056>log(2,10)#lg(2)[1]0.30103>log(exp(1))#ln(e)[1]1基本数学运算(续)求导>D(expression(x^2),"x")2*x>D(expression(sin(x^2)),"x")cos(x^2)*(2*x)积分:利用函数integrate()>integrate(dnorm,-1.96,1.96)$value[1]0.9500042>integrate(dnorm,-Inf,Inf)$value[1]1#对于多重积分计算,利用adapt库中函数adapt,不允许用无穷界限。f<-function(x){1/sqrt(2*pi)*exp(-x^2/2)}integrate(f,-1.96,1.96)$value复数运算‘Re’-实部‘Im’-虚部‘Mod’-模‘Arg’-角度‘Conj’-共轭

r=Mod(z)=√(x^2+y^2),φ=Arg(z),x=r*cos(φ)

y=r*sin(φ)

解方程(组)>polyroot(c(-3,2,1))[1]1+0i-3-0i>A<-matrix(c(2,3,1,1),ncol=2,byrow=T)>A[,1][,2][1,]23[2,]11>B<-c(1,-1)>solve(A,B)[1]-43x^2+2x-3=02x+3y=1x+y=-1集合运算并>union(x,y)交>intersect(x,y)补>setdiff(x,y)>x<-1:20>y<-3:15>intersect(x,y)[1]3456789101112131415>union(x,y)[1]1234567891011121314151617181920>match(y,x)[1]3456789101112131415>z<-c(23,15,12)>match(y,z)[1]NANA

NA

NA

NA

NA

NA

NA

NA3NANA2>setdiff(x,y)#从x中消去y[1]121617181920排列组合choose(n,k)-组合数combn(n,k)-列出所有组合factorial(n)-阶乘require(e1071)>permutations(3)[,1][,2][,3][1,]123[2,]213[3,]231[4,]132[5,]312[6,]321序列和向量

z<-seq(-1,10,length=100)#z<-seq(-1,10,len=100)z<-seq(10,-1,-1)#z<-10:-1>x<-rep(3,1:3)Errorinrep(3,1:3):invalid'times'argumentx<-rep(3:5,1:3)>x[1]344555x<-rep(c(1,10),c(4,5))w<-c(1,3,x,z);w[3]向量运算

x<-rep(0,10);z<-1:3;x+z

[1]1231231231Warningmessage:longerobjectlengthisnotamultipleofshorterobjectlengthin:x+z

x*z[1]0000000000Warningmessage:longerobjectlengthisnotamultipleofshorterobjectlengthin:x*zrev(x)z<-

c("no

cat","has","nine","tails")z[1]=="nocat"[1]TRUE向量名和元素附加

x<-1:3;names(x)<-LETTERS[1:3]xABC123set.seed(10);append(x,runif(3),after=2)

ABC1.00002.00000.50750.30680.42693.0000向量赋值

z<-1:5z[7]<-8;z[1]12345NA8z<-NULLz[c(1,3,5)]<-1:3;z[1]1NA2NA3rnorm(10)[c(2,5)]z[-c(1,3)]#去掉第1、3元素.z[(length(z)-4):length(z)]#最后五个元素.向量的大小次序

set.seed(10);z<-sample(1:100,10);z

#比较sample(1:100,10,rep=T)

[1]5131426892226945740

order(z)#给出数据从小到大的位置,即最小的是第5个

[1]56721031948z[order(z)]

[1]9222631404251576894sort(z)

[1]9222631404251576894which(z==max(z))#给出下标[1]8矩阵操作>(A<-matrix(1:12,3,4))[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912>(A<-matrix(1:12,3,4,byrow=T))

[,1][,2][,3][,4][1,]1234[2,]5678[3,]9101112>dim(A)[1]34矩阵操作(续)>nrow(A)[1]3>dim(A)[1][1]3>ncol(A)[1]4>dim(A)[2][1]4>A[3,][1]9101112>A[,3][1]3711>A[3,3][1]11矩阵操作(续)>A[-1,]#去除A的第一行

[,1][,2][,3][,4][1,]5678[2,]9101112>A[,-2]#去除A的第二列[,1][,2][,3][1,]134[2,]578[3,]91112>(AA<-matrix(1:9,3,3))[,1][,2][,3][1,]147[2,]258[3,]369>AA[-2,-2]#删除AA矩阵的第二行第二列

[,1][,2][1,]17[2,]39矩阵操作(续)>A>3#判断A中元素是否大于3

[,1][,2][,3][,4][1,]FALSEFALSEFALSETRUE[2,]TRUETRUETRUETRUE[3,]TRUETRUE

TRUE

TRUE>A==3

[,1][,2][,3][,4][1,]FALSEFALSETRUEFALSE[2,]FALSEFALSEFALSEFALSE[3,]FALSEFALSEFALSEFALSE>A[A>6][1]910711812>length(A[A>6])[1]6矩阵操作(续)>(A<-matrix(0,3,3))[,1][,2][,3][1,]000[2,]000[3,]000>diag(A)<-1>diag(A)[1]111>diag(1,3,3)

[,1][,2][,3][1,]100[2,]010[3,]001矩阵操作(续)>(m2<-matrix(1:20,4,5))[,1][,2][,3][,4][,5][1,]1591317[2,]26101418[3,]37111519[4,]48121620>lower.tri(m2)[,1][,2][,3][,4][,5][1,]FALSEFALSEFALSEFALSEFALSE[2,]TRUEFALSEFALSEFALSEFALSE[3,]TRUETRUEFALSEFALSEFALSE[4,]TRUETRUETRUEFALSEFALSE>m2[lower.tri(m2)]<-NA>m2

[,1][,2][,3][,4][,5][1,]1591317[2,]NA6101418[3,]NANA111519[4,]NANA

NA1620矩阵加减>(A<-matrix(1:12,3,4))[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912>(B<-matrix(-1:-12,3,4))[,1][,2][,3][,4][1,]-1-4-7-10[2,]-2-5-8-11[3,]-3-6-9-12>(C1<-A+B)[,1][,2][,3][,4][1,]0000[2,]0000[3,]0000>(D1<-A-B)[,1][,2][,3][,4][1,]281420[2,]4101622[3,]6121824矩阵数乘>(A<-matrix((1:9)^2,3,3))[,1][,2][,3][1,]11649[2,]42564[3,]93681>(AmultipliedByTwo<-2*A)[,1][,2][,3][1,]23298[2,]850128[3,]1872162>(AmultipliedByTwo/2==A)[,1][,2][,3][1,]TRUETRUE

TRUE[2,]TRUETRUETRUE[3,]TRUETRUETRUE矩阵相乘>(E<-matrix(1:9,3,3));(E2<-matrix(1:9,3,3,byrow=T))[,1][,2][,3][1,]147[2,]258[3,]369[,1][,2][,3][1,]123[2,]456[3,]789>E2%*%E[,1][,2][,3][1,]143250[2,]3277122[3,]50122194矩阵逆>(B<-matrix((1:9)^2,3,3))[,1][,2][,3][1,]11649[2,]42564[3,]93681>(Binverse<-solve(B))

[,1][,2][,3][1,]1.291667-2.1666670.9305556[2,]-1.1666671.666667-0.6111111[3,]0.375000-0.5000000.1805556>B%*%Binverse[,1][,2][,3][1,]1.000000e+00-8.881784e-169.714451e-16[2,]-3.552714e-151.000000e+000.000000e+00[3,]6.661338e-16-8.881784e-161.000000e+00>round(B%*%Binverse)[,1][,2][,3][1,]100[2,]010[3,]001矩阵分解因子分解(谱(spectral)分解)>J<-cbind(c(20,3),c(3,18))>j<-eigen(J,symmetric=T)>j$values[1]22.1622815.83772$vectors[,1][,2][1,]-0.81124220.5847103[2,]-0.5847103-0.8112422>C<-j$vec>D<-diag(j$values)>C%*%D%*%t(C)[,1][,2][1,]203[2,]318

C是特征向量构成的列矩阵,是特征值构成的对角阵。矩阵分解(续)奇异值(singularvalue)分解

>H<-matrix(c(3,2,1,1,1,2),3,2)>(HHt.eigen=eigen(H%*%t(H)))$values[1]1.806226e+011.937742e+002.153937e-15$vectors[,1][,2][,3][1,]0.7286301-0.460386080.5070926[2,]0.5251205-0.09981375-0.8451543[3,]0.43971210.882089490.1690309>U=HHt.eigen$vec[,1:2]>D=diag(sqrt(HHt.eigen$val)[1:2])>V=t(H)%*%U%*%solve(D)>U%*%D%*%t(V)或>svd(H)的特征向量矩阵为,的对角元素是的非零特征值的平方根

矩阵分解(续)Cholesky分解,实对称正定矩阵的分解>A<-matrix(c(1,2,2,5),ncol=2)>A>H<-chol(A)>H>t(H)%*%H为非奇异阵,上三角阵列表list可以是任何对象的集合(包括lists)z<-list(1:3,Tom=c(1:2,a=list("R",letters[1:5]),w="hi!"))z[[1]];z[[2]];z$T;z$T$a2;z$T[[3]];z$T$wattributes(z)#属性!$names[1]"""Tom"attributes(matrix(1:6,2,3))$dim[1]23矩阵,数组及其维名字

x<-matrix(1:12,nrow=3,dimnames=list(c("I","II","III"),paste("X",1:4,sep="")))

X1X2X3X4I14710II25811III36912y<-array(1:12,c(3,2,2),dimnames=list(c("I","II","III"),paste("X",1:2,sep=""),paste("Y",1:2,sep=""))),,Y1X1X2I14II25III36,,Y2X1X2I710II811III912数据框

x<-matrix(1:6,2,3)x<-

as.data.frame(x);xV1V2V311352246x$V2[1]34x$V2[1]34attributes(x)$names[1]"V1""V2""V3"$s[1]"1""2"$class[1]"data.frame"数据框(续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论