回覆列表
  • 1 # 使用者7272742818983

    頻率直方圖是資料統計中經常會用到的圖形展示方式,同時在生物學分析中可以更好的展示表型性狀的資料分佈型別;R基礎做圖中的hist函式對單一資料的展示很方便,但是當遇到多組資料的時候就不如ggplot2繪製來的方便。

    ***

    1.基礎做圖hist函式

    hist(rnorm(200),col="blue",border="yellow",main="",xlab="")

    1.1 多圖展示

    par(mfrow=c(2,3))

    for (i in 1:6) {hist(rnorm(200),border="yellow",col="blue",main="",xlab="")}

    1

    1

    2.ggplot2繪製

    構造一組正態分佈的資料

    PH<-data.frame(rnorm(300,75,5))

    names(PH)<-c("PH")

    #顯示資料

    head(PH)

    ## PH

    ## 1 72.64837

    ## 2 67.10888

    ## 3 89.34927

    ## 4 75.70969

    ## 6 82.85354

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    載入ggplot2作圖包並繪圖

    library(ggplot2)

    library(gridExtra)

    p1<-ggplot(data=PH,aes(PH))

    geom_histogram(color="white",fill="gray60") #控制顏色

    ylab(label = "total number") #修改Y軸標籤

    1

    2

    3

    4

    1

    2

    3

    4

    2.1 修改柱子之間的距離

    p2<-ggplot(data=PH,aes(PH))

    geom_histogram(color="white",fill="gray60",binwidth = 3)

    1

    1

    2.2 新增擬合曲線

    p3<-ggplot(data=PH,aes(PH,..density..))

    geom_histogram(color="white",fill="gray60",binwidth = 3)

    geom_line(stat="density")

    1

    2

    1

    2

    2.3 修改線條的粗細

    p4<-ggplot(data=PH,aes(PH,..density..))

    geom_histogram(color="white",fill="gray60",binwidth = 3)

    geom_line(stat="density",size=1.5)

    grid.arrange(p1,p2,p3,p4)

    1

    2

    3

    1

    2

    3

    2.4 繪製密度曲線

    p1<-ggplot(data=PH,aes(PH,..density..))

    geom_density(size=1.5)

    1

    1

    2.5 修改線條樣式

    p2<-ggplot(data=PH,aes(PH,..density..))

    geom_density(size=1.5,linetype=2)

    p3<-ggplot(data=PH,aes(PH,..density..))

    geom_density(size=1.5,linetype=5)

    1

    2

    3

    1

    2

    3

    2.6 修改顏色

    p4<-ggplot(data=PH,aes(PH,..density..))

    geom_density(size=1.5,linetype=2,colour="red")

    grid.arrange(p1,p2,p3,p4)

    1

    2

    1

    2

    2.7 多組資料展示

    構造兩組資料

    df<-data.frame(c(rnorm(200,5000,200),rnorm(200,5000,600)),rep(c("BJ","TJ"),each=200))

    names(df)<-c("salary","city")

    1

    1

    結果展示

    library(ggplot2)

    p1<-ggplot()

    geom_histogram(data=df,aes(salary,..density..,fill=city),color="white")

    p2<-ggplot()

    geom_histogram(data=df,aes(salary,..density..,fill=city),color="white",alpha=.5)

    p3<-ggplot()

    geom_density(data=df,aes(salary,..density..,color=city))

    p4<-ggplot()

    geom_histogram(data=df,aes(salary,..density..,fill=city),color="white") geom_density(data=df,aes(salary,..density..,color=city))

    grid.arrange(p1,p2,p3,p4)

    1

    2

    3

    4

    5

    6

    7

    8

    9

    1

    2

    3

    4

    5

    6

    7

    8

    9

  • 中秋節和大豐收的關聯?
  • 現代紙幣中,號碼4和7為什麼人們不喜歡,有什麼說法和歷史背景?