产生向量:
a=c(1,2,3) //产生 1,2,3向量
a=1:10-1 //产生 0 - 9数字
a=seq(5,20,by=2) // 以2增长
a=seq(5,120,length=10) //5到20,总数为10,长度系统自己计算得到
矩阵:
生成矩阵:A=matrix(1:16,nrow,ncol,byrow=T)
取矩阵列:temp<-A[,c(1,3)]
PS:为什么c前面有逗号?矩阵二维,逗号分割行、列索引,[, c(....)]按列subgroup,[c(....), ]按行subgroup。
which函数
which.max(a) //向量a中,最大值的下标
which(a>1 & a<6) // 1<a<6之间的a下标
t(a) //a的转置
a%*%b //矩阵相乘
diag(a) //求对角元素 diag(4) :4阶对角矩阵
solve(a,b) //ax=b 方程组解
a.e=eigen(a,symmetric=T) //求出特征向量,特征根。 若需要引用特征根: a.e$values 特征向量 a.e$vectors
数据框
x=data.frame(x1,x2) //可理解为每一行为观察值,x1,x2长度要相等
plot(x) //作出x的图
读文件:
工作目录下放置文本。
x=read.table("abc.txt")
excel 先另存为prn文本,w<-read.table("test.prn",header=T)
for循环
for(i in 1:59) (a[i]=i*2+3)
while(a[i]<121) (i=i+1; a[i]=a[i-1]+2)
R脚本
source("D:\\h.r") //其中print() 函数用来显示
分布函数
rnorm(n,mean=0,sd=1) 高斯(正态)
rexp(n,rate=1) 指数分布
rgamma(n,shape,scale=1) 伽玛分布
rpois(n,lambda) Poisson分布
rweibull(n,shape,scale=1) Weibull(韦伯)分布
rcauchy(n,location=0,scale=1) Cauchy分布
rbeta(n,shape1,shape2) 贝塔分布
rt(n,df) t 分布
rf(n,df1,df2) F分布
rchisq(n,df) 卡方分布
rbinom(n,size,prob) 二项分布
rgeom(n,prob) 几何分布
rhyper(nn,m,n,k) 超几何分布
rlogis(n,location=0,scale=1) logisitic分布
rlnorm(n,meanlog=0,sdlog=1) 对数分布
rnbinom(n,size,prob) 负二项分布
runif(n,min=0,max=1) 均匀分布
rwilcox(nn,m,n) ,rsignrank(nn,n) Wilcoxon分布
写文件
x=data.frame(num,x1,x2,x3)
write.table(x,file="d:\\mark.txt",col.name=F,row.name=F sep=" ")
colMeans(x)[c("x1")] //计算平均值,只显示x1列
apply(x,2,mean) //在列的方向求平均 2表示列
apply(x[("x1","x2")],1,sum] //对每一行求和