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) #对每个学生求总分