本章講一些基礎的代碼稼病,有不懂的可以查詢R語法查詢網站
-
rep
即是Replicate Elements of Vectors and Lists 重復向量和列表中的元素
rep -
runif
即是平均分布的一組數蠢壹,runif(235)
表示產生235個min=0,max=1的隨機數撒轮。
runif -
rnorm
即是正態(tài)分布的一組數覆致,rnorm(100)
表示產生100個均數為0彪笼,標準差為1的隨機數拷获。
rnorm R里面遵循先行后列
nrow= ,ncol=
-
邏輯判斷
TRUE
orFALSE
logical
==
是判斷待榔,=
是賦值 -
seq
生成序列律想,跨度是1的序列猎莲,sequence
seq(1,9)
序列 ls()
list objects 列舉當前環(huán)境中所有的變量
rm(list=ls())
remove,清除當前環(huán)境中的變量-
儲存變量
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()
查看第三層類別忍弛。
類別 檢驗數據是否符合正態(tài)分布,三種檢驗方法:
- qq圖
qqnorm(data1[,1])#先生成一系列點
qqline(data1[,1],col='darkred')#看點是否在線上
- 夏皮羅威克爾檢驗
shapiro.test(sample(data1[,1],5000))
這個檢驗最多只能用5000個數據考抄,所以只能取樣细疚。
p值>0.05即有效,符合正態(tài)分布
- KS檢驗
ks.test(
data1[,1],
rnorm(10000,mean=mean(data1[,1]),sd=sd(data1[,1]))
)
將原數據與以原數據的平均數為值川梅,標準差為值的一組隨機正態(tài)分布數作比較疯兼。
也是p值>0.05即可。
- 正態(tài)分布的四個函數應用贫途。
#關于正態(tài)分布的4個函數及其應用
#由已知的正態(tài)分布總體來分析個體
#已知某大學男性畢業(yè)生收入的均值為7000吧彪,標準差為2000,求:
#1.1若甲同學的收入大于80%的人丢早,那么他的收入是多少呢姨裸?(由概率求值問題)
qnorm(0.8,mean=7000,sd=2000)
#1.2乙同學收入為8500左右的概率是多少秧倾?(點概率問題)
dnorm(8500,mean=7000,sd=2000)
#1.3已知丙同學的收入為9000,他的收入會比百分之多少的人高傀缩?(區(qū)間概率問題)
pnorm(9000,mean=7000,sd=2000)
一般正態(tài)分布轉換成標準正態(tài)分布
若隨機變量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)