本章讲一些基础的代码,有不懂的可以查询R语法查询网站
-
rep
即是Replicate Elements of Vectors and Lists 重复向量和列表中的元素
-
runif
即是平均分布的一组数,runif(235)
表示产生235个min=0,max=1的随机数。
-
rnorm
即是正态分布的一组数,rnorm(100)
表示产生100个均数为0,标准差为1的随机数。
R里面遵循先行后列
nrow= ,ncol=
-
逻辑判断
TRUE
orFALSE
==
是判断,=
是赋值 -
seq
生成序列,跨度是1的序列,sequence
seq(1,9)
ls()
list objects 列举当前环境中所有的变量
rm(list=ls())
remove,清除当前环境中的变量-
储存变量
save(数据1,数据2,file='名称.Rdata')
for example
转化成数据框
as.data.frame( )
,把向量转化成数据框。给数据框添加一列,赋值。
data1[,2] <- 'male'
,本身只有一列的数据框添加了一列值都为male的数据。按行合并两个数据框
rbind(data1,data2)
ggplot2 画直方图用密度函数来画要加上
geom_histogram(stat='density')
,分面用facet_gride( )
括号里放分面参数。length( )
的括号里必须是向量,统计里面有多少个数-
gl()
函数,gl(2,5)
生成具有两个因子水平,每个因子水平重复5次的因子。
class()
查看第一层类别,mode()
查看第二层类别,typeof()
查看第三层类别。
检验数据是否符合正态分布,三种检验方法:
- qq图
qqnorm(data1[,1])#先生成一系列点
qqline(data1[,1],col='darkred')#看点是否在线上
- 夏皮罗威克尔检验
shapiro.test(sample(data1[,1],5000))
这个检验最多只能用5000个数据,所以只能取样。
p值>0.05即有效,符合正态分布
- KS检验
ks.test(
data1[,1],
rnorm(10000,mean=mean(data1[,1]),sd=sd(data1[,1]))
)
将原数据与以原数据的平均数为值,标准差为值的一组随机正态分布数作比较。
也是p值>0.05即可。
- 正态分布的四个函数应用。
#关于正态分布的4个函数及其应用
#由已知的正态分布总体来分析个体
#已知某大学男性毕业生收入的均值为7000,标准差为2000,求:
#1.1若甲同学的收入大于80%的人,那么他的收入是多少呢?(由概率求值问题)
qnorm(0.8,mean=7000,sd=2000)
#1.2乙同学收入为8500左右的概率是多少?(点概率问题)
dnorm(8500,mean=7000,sd=2000)
#1.3已知丙同学的收入为9000,他的收入会比百分之多少的人高?(区间概率问题)
pnorm(9000,mean=7000,sd=2000)
一般正态分布转换成标准正态分布
若随机变量X~N(),则有Z=~N(0,1)因子factor可以看成是分类变量,转化成因子
factor()
Grade <- c('Low','Medium','High')
Grade.f <- factor(Grade,order=T,levels=c('Low','Medium','High'))
转化成字符串
as.character( )
,转化成数值型as.numeric( )
。导入数据,File>Import Dataset>选择类型
which
函数的应用,用于条件的筛选
a <- c(12,34,56,86,11,16)
which(a>30)