R语言学习-第一天-基础知识
R的入门
R的起源:R是S语言的一种实现。 R的许可证是GNU R用于统计分析、绘图的语言和操作环境。 R是一套完整的数据处理、计算和制图软件系统。 R官方网站地址:www.r-project.org
1.创建向量和矩阵
c() 创建向量 x1=c(2,4,6,8,10) length() 计算向量长度 mode() 判断向量内数据类型 rbind(x1,x2) 按行组合矩阵 cbind(x1,x2) 按列组合矩阵 means() 求均值 sum() 求和 min() 求最小值 max() 求最大值 var() 求方差 variance prod() 连乘 sd() 求标准差 help() 帮助函数
2.向量的产生和计算
1:10 从1到10步长为1; 1:10-1 每个元素减1 1:10*2 每个元素乘2 a[5] 显示a中第5个元素 a[-5] 不显示a中第5个元素 a[1:5] 显示a中1-5 5个元素 a[-(1:5)]不显示a中1-5 5个元素 a[c(2,4,7)] 显示a中第2 第4 第7个元素 a[a<20] 显示a中<20的所有元素
seq()函数:按指定规律产生向量 seq(5,20) 生成5-20 向量 seq(5,121,by=2) 步长设定为2 seq(5,121,length=10) 产生10个数的向量
letters 产生26个小写字母 (固定向量名) letters[1:26]
which()函数 返回满足条件的下标 查询功能 which(a==2) which(a>5) which.min(a) a[which(a>5)]
rev() 顺序颠倒 sort() 升序排列
matrix() 生成矩阵 默认按列走 a1=c(1:12) matrix(a1,nrow=3,ncol=4) matrix(a1,nrow=3,ncol=4,byrow=T) 按行走 2、数组 array 有维度的向量 3、数据框 frame 特征: 1、矩阵形式,但列可以不同数据类型 2、每一列是一个变量,每一行是一个观测值 读取文件: 1、读取文本:(x=read.table(“abc.txt”)) 2、读取excel文件,prn文件:w<-read.table(“test.prn”,header=T) 空格分隔 csv文件:w<-read.table(“test.csv”,header=T) 逗号分隔
安装程序包RODBC之后,可以直接读取xls文件(32位) 举例: z<-odbcConnectExcel(“test.xls”) (w<-sqlFetch(z,“Sheet1”))
3.循环语句
for循环 for(i in 1:59) {a[i]=i*2+3}
while循环 a[1]=5 i=1 while(a[i]<121) {i=i+1;a[i]=a[i-1]+2}
4.R脚本(R程序)
运行脚本函数:source("h.r") 在脚本中必须使用print函数,在运行时才能完成显示
案例练习
模拟产生统计专业同学的名单(学号区分),记录数学分析,线性代数,概率统计三科成绩,然后进行统计分析 学号从1037800到10378100 三科分别为:数学分析、高等代数、概率论
num=seq(10378001,10378100) # 产生100个学号 x1=round(runif(100,min=80,max=100)) # runif 产生均匀分布随机数 x2=round(rnorm(100,mean=80,sd=7)) #rnorm 产生正态分布随机数,均值80,标准差7 x3=round(rnorm(100,mean=83,sd=18)) # 均值83,标准差18 存在超过100分的 x3[which(x3>100)]=100 #使用which将其化成100分 #合成数据框,并保存到硬盘中 x=data.frame(num,x1,x2,x3) write.table(x,file="mark.txt",col.names=F,row.names=F,sep=" ")
常见分布函数 rnorm() 正态分布 rpois() 泊松分布 rexp() 指数分布 rgamma()伽马分布 runif() 均匀分布 rbinom()二项分布 rgeom() 几何分布 统计分析:
#统计分析: colMeans(x) # 计算各科平均分 colMeans(x)[c("x1","x2","x3")] apply(x,2,mean) # 2表示对列操作 apply(x,2,max) apply(x,2,min) apply(x[c("x1","x2","x3")],1,sum) #对每个学生求总分