R數(shù)據(jù)科學(xué)學(xué)習(xí)札記1-20190929

上次學(xué)習(xí)本書的創(chuàng)建ggplot圖形,遇到了點困難怎么都過不去,于是擱置了幾天,今天又拿起來學(xué)。

一、繪制帶圖層的點圖。

>library(tidyverse)#調(diào)用tidyverse包,否則ggplot會使用不了這個命令

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg)) #這個里面出現(xiàn)了各種錯誤,#主要是書上提供的數(shù)據(jù)mpg的問題,總是報錯說這個數(shù)據(jù)不是數(shù)據(jù)框,于#是我換了mtcars數(shù)據(jù)才解決了問題,這個數(shù)據(jù)也是R自帶的數(shù)據(jù),以wt為#自變量,以mpg為因變量。


圖1 使用圖層繪制散點圖示例

解釋:

1、ggplot()函數(shù)開始繪圖。ggplot()創(chuàng)建了一個坐標(biāo)系,你可以在它上面添加圖層。

2、ggplot()的第一個參數(shù)是要在圖中使用的數(shù)據(jù)集。ggplot(data = mpg)會創(chuàng)建一張空白圖。

3、函數(shù)geom_point()向圖中添加一個點層,這樣就可以創(chuàng)建一張散點圖。

4、ggplot2 中的每個幾何對象函數(shù)都有一個 mapping 參數(shù)。這個參數(shù)定義了如何將數(shù)據(jù)集中的變量映射為圖形屬性。mapping 參數(shù)總是與 aes() 函數(shù)成對出現(xiàn),aes() 函數(shù)的 x 參數(shù)和 y 參數(shù)分別指定了映射到 x 軸的變量與映射到 y 軸的變量。

5、?mtcars 使用這個命令查了下本數(shù)據(jù)集合的內(nèi)容

A data frame with 32 observations on 11 (numeric) variables.

[, 1]mpg ? Miles/(US) gallon

[, 2]cyl ? Number of cylinders

[, 3]dispDisplacement (cu.in.)

[, 4]hp ? Gross horsepower

[, 5]drat ? Rear axle ratio

[, 6]wt ? Weight (1000 lbs)

[, 7]qsec ? 1/4 mile time

[, 8]vs? Engine (0 = V-shaped, 1 = straight)

[, 9]am? Transmission (0 = automatic, 1 = manual)

[,10]gear ? Number of forward gears

[,11]carb ?? Number of carburetors

二、繪制不同顏色的散點圖,需要設(shè)置一個分類變量為顏色映射。命令如下:

>library(tidyverse)

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg,color = vs)) #增加了color的設(shè)#置,其中vs是是什么形狀的,0 = V-shaped, 1 = straight

繪制出來的圖形為:


圖2 帶顏色的散點圖

三、繪制不同尺寸的散點圖

>library(tidyverse)

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg,size = vs))

圖3 不同尺寸的散點圖

四、繪制不同顏色灰度的散點圖

命令語句為

>library(tidyverse)

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg,alpha = carb))


圖4不同灰度的散點圖

五 、不同形狀的散點圖

這次我用自己的數(shù)據(jù),一個txt 文件來實現(xiàn)了。這個運(yùn)行前需要設(shè)置工作空間。通過命令欄的session--->set working diectory 來設(shè)定?

>m<-read.table("ANOVA4.txt")

>m$V5<-as.factor(m$V5)# 如果不加這句,心里默認(rèn)V5為類別,則會出錯,#錯誤提示連續(xù)變量不可以設(shè)置形狀。

>ggplot(data = m)+

? geom_point(mapping=aes(x = V1, y = V2,shape = V5))

結(jié)果如下圖:


圖5 不同形狀散點圖

再用mtcars試一下,這回就不會報錯了。

>library(tidyverse)

>mtcars$vs<-as.factor(mtcars$vs)#這個是將

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg,shape = vs))



圖6 不同形狀散點圖

六、設(shè)定顏色特定的散點圖

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg),color = "blue")

繪制出來的結(jié)果為:

圖7 定為藍(lán)色的散點圖

類似的設(shè)置還可以有如下變化:
>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg),size = 4)#設(shè)置特定尺寸

>ggplot(data = mtcars)+

? geom_point(mapping=aes(x = wt, y = mpg),shape = 4)#設(shè)置特定形狀為##星號


七、繪制簡單平滑幾何曲線

>ggplot(data = mtcars)+

? geom_smooth(mapping=aes(x = wt, y = mpg))#使用了平滑幾何對象繪制


圖8 平滑幾何對象的繪制

八、繪制分組的平滑幾何曲線

>ggplot(data = mtcars)+

? geom_smooth(mapping=aes(x = wt, y = mpg,linetype = vs))#使用vs來分#組繪制圖形


圖9 分組繪制的平滑曲線

類似的命令可以有

>ggplot(data = mtcars)+

? geom_smooth(mapping=aes(x = wt, y = mpg,group = vs))

圖形效果如下


圖10 分組繪制平滑曲線圖

>ggplot(data = mtcars)+

? geom_smooth(

? ? mapping=aes(x = wt, y = mpg,color = vs),? #這里的逗號不要丟了

? ? show.legend = FALSE #這個是說不出現(xiàn)圖例,如果要出現(xiàn)則輸入TRUE

? ? )


圖11 分組繪制平滑曲線

九、同時出現(xiàn)多個幾何對象

>ggplot(data = mtcars)+ ? ? #加號別忘了

? geom_smooth(mapping=aes(x = wt, y = mpg))+ ? #加號別忘了

? geom_point(mapping=aes(x = wt, y = mpg))

該命令可以簡化為:

>ggplot(data = mtcars,mapping=aes(x = wt, y = mpg))+

? geom_smooth()+

? geom_point()

繪制結(jié)果是:


圖12 點圖和平滑圖都出現(xiàn)的圖形

可以擴(kuò)展為:

>ggplot(data = mtcars,mapping=aes(x = wt, y = mpg))+

? geom_smooth(mapping = aes(color =vs))+

? geom_point()

圖形為:


圖13 平滑曲線用不同顏色繪制的分組疊加幾何對象的圖形

也可以擴(kuò)展為:

>ggplot(data = mtcars,mapping=aes(x = wt, y = mpg))+

? geom_smooth()+

? geom_point(mapping = aes(color =vs))

繪制圖形為:


圖14 散點圖用不同顏色繪制的分組疊加幾何對象的圖形


總結(jié):幾何對象比如點圖,平滑圖,但是先寫誰,并沒有關(guān)系??磥硭^的平滑曲線就是散點圖分布的范圍的勾勒。

學(xué)習(xí)感受:剛拿到這本書迫不及待的開始學(xué)習(xí),反倒在一開始就是因為數(shù)據(jù)的問題卡死在了開始的第一個圖形,后來擱置了一周后,去忙別的編程,再來看這個例子,就反應(yīng)過來了是哪里的問題。所以學(xué)習(xí)真是不能急啊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容