-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
R語言基礎(chǔ)知識(shí)(r語言基礎(chǔ)知識(shí)代碼)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于R語言基礎(chǔ)知識(shí)的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、R語言中更改圖的大小比例
基礎(chǔ)知識(shí):
像素?cái)?shù):圖片上的最小成像單位的數(shù)目。評(píng)價(jià)一個(gè)設(shè)備的像素值,一般使用寬高像素的乘積表示,如1000px * 1500 px
尺寸:指圖像打印后的物理尺寸,一般用厘米/米或者(英)寸表示,1英寸(inche)=2.54厘米
分辨率:?jiǎn)挝怀叽缦孪袼攸c(diǎn)的數(shù)目,越高圖像越細(xì)膩。計(jì)算方式為 分辨率=像素?cái)?shù)/尺寸,是真正衡量設(shè)備清晰度的指標(biāo),單位一般為像素/英寸或者像素/厘米。
容量:圖像文件的存貯空間,也就是文件的大小,一般以Kb和Mb來表示。
ps:平時(shí)所說的1200萬像素的手機(jī),是指該手機(jī)的像素?cái)?shù)。
在R繪圖中也需要調(diào)整最后圖片的上述參數(shù)。一般我們使用一下函數(shù)對(duì)圖片進(jìn)行導(dǎo)出:
這里也寫了一個(gè)shiny程序用于手動(dòng)導(dǎo)出png或pdf
二、R語言繪圖之圖片的局部放大(基礎(chǔ)知識(shí))
生活很好,有你更好
三、有懂r語言的能幫忙做下題目嗎 急求 一些基礎(chǔ)知識(shí)
幻初學(xué)順w
四、r語言ggbio包使用方法
第一步:獲取要繪圖的整潔數(shù)據(jù)(涉及到數(shù)據(jù)整潔和操作的知識(shí))
第二步:整潔數(shù)據(jù)做映射操作,確定x,y,color,size,shape,alpha等
第三步:選擇合適的幾何對(duì)象(根據(jù)畫圖的目的、變量的類型和個(gè)數(shù))
第四步:坐標(biāo)系和刻度配置
第五步:標(biāo)簽信息和圖例信息
第六步:選擇合適的主題
ggplot2的語法包括10個(gè)部件。
數(shù)據(jù)(data)
映射(mapping)
幾何對(duì)象(geom)
標(biāo)度(scale)
統(tǒng)計(jì)變換(stats)
坐標(biāo)系(coord)
位置調(diào)整(Position adjustments)
分面(facet)
主題(theme)
輸出(output)
前3個(gè)是必須的,其它部件ggplot2會(huì)自動(dòng)配置,也可以手動(dòng)配置
ggplot2基本繪圖模板:
注意:
1)添加圖層的加號(hào)(+)只能放在行末尾
2)紅色方框里面mapping是全局域,綠色方框里面mapping是局部域,執(zhí)行先后順序,先局部域,后全局域
ggplot2畫圖必要部件-數(shù)據(jù),映射和幾何對(duì)象
2.1 數(shù)據(jù)
數(shù)據(jù)(Data)用于畫圖的整潔數(shù)據(jù)
library(tidyverse
ggplot()先只提供數(shù)據(jù),創(chuàng)建一個(gè)空?qǐng)D形。
# ggplot()先提供整潔數(shù)據(jù),生成一個(gè)空?qǐng)D形
2映射
映射,把數(shù)據(jù)變量集與圖形屬性庫建立關(guān)聯(lián)。
最常用的映射有:
x:x軸
y:y軸
color:顏色
size:大小
shape:形狀
fill:填充
alpha:透明度
以mpg數(shù)據(jù)集為例,把變量displ和hwy分別映射到x和y,變量drv映射到color,此時(shí)圖形就有了坐標(biāo)軸和網(wǎng)格線,color需要在有了幾何對(duì)象后才能體現(xiàn)出來。
# 映射操作
ggplot(data = mpg, mapping = aes(x = displ,
y = hwy, color = drv))
2.3 幾何對(duì)象
幾何對(duì)象是表達(dá)數(shù)據(jù)的視覺對(duì)象
不同類型的幾何對(duì)象是從不同的角度表達(dá)數(shù)據(jù)。
pgglot2提供了50多種“幾何對(duì)象”,均以geom_xxxx()的方式命名,常用的有:
幾何對(duì)象很簡(jiǎn)單,只需要添加圖層即可。
例如,以mpg數(shù)據(jù)集為例,畫散點(diǎn)圖。
ggplot(data = mpg, mapping = aes(x = displ,
y = hwy,
color = drv)) +
geom_point()層依次疊加,在上圖的基礎(chǔ)上,再添加一個(gè)幾何對(duì)象:光滑曲線。
#繼續(xù)增加一個(gè)幾何對(duì)象:光滑曲線
# 寫法1
ggplot(data = mpg, mapping = aes(x = displ,
y = hwy,
color = drv)) +
geom_point() +
geom_smooth(se=FALSE)
# 寫法2
ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +
geom_point(aes(color = drv)) +
geom_smooth(se=FALSE)
思考題:
1)寫法1和寫法2的差異?(全局域和局部域的使用差異)
2)寫法2若是要實(shí)現(xiàn)寫法1的功能,怎么編寫代碼?
03
標(biāo)度
ggplot2會(huì)自動(dòng)根據(jù)輸入變量選擇最優(yōu)的坐標(biāo)刻度方法,若要手動(dòng)設(shè)置或調(diào)整,就需要使用標(biāo)度函數(shù)。
標(biāo)度函數(shù)用來控制幾何對(duì)象中的標(biāo)度映射(x軸,y軸或者由color,fill,shape,size產(chǎn)生的圖例)。
ggplot2提供豐富的標(biāo)度函數(shù),常用的有:
拓展功能:scales包提供很多設(shè)置刻度標(biāo)簽風(fēng)格的函數(shù),比如百分?jǐn)?shù)、科學(xué)計(jì)數(shù)法法、美元格式等。
3.1 修改坐標(biāo)軸刻度及標(biāo)簽
連續(xù)變量使用scale_*_continuous()函數(shù),參數(shù)breaks設(shè)置各個(gè)刻度的位置,參數(shù)labels設(shè)置各個(gè)刻度對(duì)應(yīng)的標(biāo)簽。
離散變量使用scale_*_discrete()函數(shù),修改離散變量坐標(biāo)軸的標(biāo)簽。
時(shí)間變量使用scale_x_date()函數(shù)設(shè)置日期刻度,參數(shù)date_breaks設(shè)置刻度間隔,date_labels設(shè)置標(biāo)簽的日期格式
以mpg數(shù)據(jù)集為例,修改連續(xù)變量坐標(biāo)軸刻度及標(biāo)簽。
# scale_y_continuous函數(shù)
# 對(duì)比分析和觀察
# 圖1
ggplot(mpg, aes(displ, hwy)) +
geom_point()
# 圖2
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_y_continuous(breaks = seq(15, 40, by = 10))
# 圖3
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
scale_y_continuous(breaks = seq(15, 40, by = 10),
labels = c(" 一五 "," 二五 "," 三五 "))
以mpg數(shù)據(jù)集為例,修改離散變量的標(biāo)簽
# scale_x_discrete函數(shù)
# 對(duì)比分析和觀察
# 圖1
ggplot(mpg, aes(x = drv)) +
geom_bar()
# 圖2
ggplot(mpg, aes(x = drv)) +
geom_bar() +
scale_x_discrete(labels = c("4" = " 四驅(qū) ", "f" = " 前驅(qū) ",
"r" = " 后驅(qū) "))
以ggplot2自帶的economics數(shù)據(jù)集為例,修改日期變量。
# scale_x_date函數(shù)
# 以ggplot2自帶的economics為例
economics %>% glimpse()
# 圖1
ggplot(tail(economics, 45), aes(date, uempmed / 100)) +
geom_line()
# 圖2
ggplot(tail(economics, 45), aes(date, uempmed / 100)) +
geom_line() +
scale_x_date(date_breaks = "6 months", date_labels = "%Y-%b") +
scale_y_continuous(labels = scales::percent)
3.2 修改坐標(biāo)軸標(biāo)簽、圖例名及圖例位置
用labs()函數(shù)參數(shù)x,y或者xlab(),ylab(),設(shè)置x軸,y軸標(biāo)簽。
若用參數(shù)color生成了圖例,可以在labs()函數(shù)用參數(shù)color修改圖例名。
用theme圖層的參數(shù)legend.position設(shè)置圖例的位置。
以mpg數(shù)據(jù)為例。
# 修改坐標(biāo)軸標(biāo)簽,圖例名和圖例位置
mpg
# 圖1
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
labs(x = " 引擎大小 (L)", y = " 高速燃油率 (mpg)",
color = " 驅(qū)動(dòng)類型 ") +
theme(legend.position = "top")
# 圖2
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
xlab(" 引擎大小 (L)") +
ylab(" 高速燃油率 (mpg)") +
labs(color = " 驅(qū)動(dòng)類型 ") +
theme(legend.position = "top")
# 圖3 不需要圖例
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
xlab(" 引擎大小 (L)") +
ylab(" 高速燃油率 (mpg)") +
theme(legend.position = "none")
3.3 設(shè)置坐標(biāo)軸的范圍
用coord_cartesian()函數(shù)參數(shù)xlim和ylim,或者用xlim(),ylim()設(shè)置x軸和y軸的范圍。
以mpg數(shù)據(jù)集為例。
# 修改坐標(biāo)軸的范圍
# 圖1 coord_cartesian()的參數(shù)xlim和ylim
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
coord_cartesian(xlim = c(5, 7), ylim = c(10, 30))
# 圖2 xlim()和ylim()函數(shù)
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
xlim(5, 7) +
ylim(10, 30)
3.4 變換坐標(biāo)軸
用scale_x_log10()函數(shù)變換坐標(biāo)系,可以保持原始數(shù)據(jù)的坐標(biāo)刻度。
# 修改坐標(biāo)軸的范圍
# 圖1 coord_cartesian()的參數(shù)xlim和ylim
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
coord_cartesian(xlim = c(5, 7), ylim = c(10, 30))
# 圖2 xlim()和ylim()函數(shù)
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
xlim(5, 7) +
ylim(10, 30)
3.5 設(shè)置圖形標(biāo)題
用labs()函數(shù)設(shè)置圖形標(biāo)題。
參數(shù)title 設(shè)置正標(biāo)題
參數(shù)subtitle 設(shè)置副標(biāo)題
參數(shù)caption 設(shè)置腳注標(biāo)題(默認(rèn)右下角)
# 設(shè)置標(biāo)題
# mpg數(shù)據(jù)集為例
p <- ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = drv)) +
geom_smooth(se = FALSE) +
labs(title = " 燃油效率與引擎大小的關(guān)系圖 ",
subtitle = " 兩座車 ( 跑車 ) 因重量小而符合預(yù)期 ",
caption = " 數(shù)據(jù)來自 fueleconomy.gov")
p
標(biāo)題若要居中,采用theme圖層設(shè)置。
p + theme(plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5))
3.6 設(shè)置color、fill顏色
數(shù)據(jù)的某個(gè)維度信息可以通過顏色來表示。
可以直接使用顏色值,建議使用RColorBrewer(調(diào)色板)或者colorspace包。
1)連續(xù)變量
- 用scale_color_gradient()設(shè)置二色漸變色。
# 連續(xù)變量
# 圖1 scale_color_gradient()函數(shù)
ggplot(mpg, aes(displ, hwy, color = hwy)) +
geom_point() +
scale_color_gradient(low = "green", high = "red")
- 用scale_color_distiller()設(shè)置調(diào)色板中的顏色
# 圖2 scale_color_distiller()函數(shù)
ggplot(mpg, aes(displ, hwy, color = hwy)) +
geom_point() +
scale_color_distiller(palette = "Set1")
2)離散變量
- 用scale_color_manual()手動(dòng)設(shè)置顏色,還可以修改圖例及其標(biāo)簽信息
# 離散變量
# 圖1 scale_color_manual()函數(shù)
ggplot(mpg, aes(displ, hwy, color = drv)) +
geom_point() +
scale_color_manual(" 驅(qū)動(dòng)方式 ",
values = c("red", "blue", "green"),
breaks = c("4", "f", "r"))
ggplot(mpg, aes(displ, hwy, color = drv)) +
geom_point() +
scale_color_manual(" 驅(qū)動(dòng)方式 ",
values = c("red", "blue", "green"),
labels = c(" 四驅(qū) ", " 前驅(qū) ", " 后驅(qū) "))
-用scale_fill_brewer()調(diào)用調(diào)色板中的顏色
# 圖2 scale_fill_brewer()函數(shù)
ggplot(mpg, aes(x = class, fill = class)) +
geom_bar() +
scale_fill_brewer(palette = "Dark2")
.7 添加文字標(biāo)注
ggrepel包提供了geom_label_repel()函數(shù)或者geom_text_repel()函數(shù),為圖形添加文字標(biāo)注。
操作步驟:
第一步:先準(zhǔn)備好標(biāo)記點(diǎn)的數(shù)據(jù)
第二步:增加文字標(biāo)注圖層,包括標(biāo)記點(diǎn)的數(shù)據(jù)和標(biāo)注的文字給label參數(shù)
# 設(shè)置文字標(biāo)注信息
library(ggrepel)
# 選取每種車型 hwy 值最大的樣本
best_in_class <- mpg %>%
group_by(class) %>%
slice_max(hwy, n = 1)
best_in_class %>% select(class, model, hwy)
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(color = class)) +
geom_label_repel(data = best_in_class,
aes(label = model))
04
計(jì)變換、坐標(biāo)系和位置調(diào)整
.1 統(tǒng)計(jì)變換
統(tǒng)計(jì)變換是構(gòu)建新的統(tǒng)計(jì)量而畫圖。
例如,條形圖或直方圖,是對(duì)數(shù)據(jù)分組的頻數(shù)做畫圖;平滑曲線是對(duì)數(shù)據(jù)擬合模型的預(yù)測(cè)值畫圖。
gplot2可以把統(tǒng)計(jì)變換直接融入畫圖中,不必先在對(duì)數(shù)據(jù)做統(tǒng)計(jì)變換后再畫圖。
gplot2提供30多種統(tǒng)計(jì),均以stats_xxx()的方式命名。
1)可在幾何對(duì)象中直接使用的統(tǒng)計(jì)變換,直接使用幾何對(duì)象就可以了。
能在幾何對(duì)象創(chuàng)建的,而需要單獨(dú)使用。
mpg數(shù)據(jù)集為例。
stat_summary()做統(tǒng)計(jì)繪圖并匯總。
# 圖1 stat_summary()做統(tǒng)計(jì)繪圖并匯總
p <- ggplot(mpg, aes(x = class, y = hwy)) +
geom_violin(trim = FALSE, alpha = 0.5, color = "green")
p
p + stat_summary(fun = mean,
fun.min = function (x) {mean(x) - sd(x)},
fun.max = function (x) {mean(x) + sd(x)},
geom = "pointrange",
color = "red")
tat_smooth()添加光滑曲線,與geom_smooth()相同。
參數(shù)method設(shè)置平滑曲線的擬合方法,如lm線性回歸、glm廣義線性回歸、loess多項(xiàng)式回歸、gam廣義加法模型(mgcv包)、rlm穩(wěn)健回歸(MASS包)等。
參數(shù)formula指定平滑曲線方程,如y ~ x, y ~ poly(x, 2), y ~ log(x)等。
參數(shù)se設(shè)置是否繪制置信區(qū)間。
# 圖2 stat_smooth()添加平滑曲線
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
stat_smooth(method = "lm",
formula = y ~ splines::bs(x, 3),
se = FALSE)
ggplot(mpg, aes(displ, hwy)) +
geom_point() +
geom_smooth(method = "lm",
formula = y ~ splines::bs(x, 3),
se = FALSE)
4.2 坐標(biāo)系
ggplot2默認(rèn)是直角坐標(biāo)系。
- coord_cartesian()
常用的其它坐標(biāo)系:
以mpg數(shù)據(jù)集為例,坐標(biāo)軸翻轉(zhuǎn)。
# 圖1 坐標(biāo)軸翻轉(zhuǎn)coord_flip()
p <- ggplot(mpg, aes(class, hwy)) +
geom_boxplot()
p
p + coord_flip()
直角坐標(biāo)下條形圖轉(zhuǎn)換為極坐標(biāo)下玫瑰圖。
# 圖2 直角坐標(biāo)條形圖-->極坐標(biāo)玫瑰圖
p <- ggplot(mpg, aes(class, fill = drv)) +
geom_bar()
p
p + coord_polar()
4.3 位置調(diào)整
條形圖的位置調(diào)整
# 圖1:條形圖條形位置調(diào)整
ggplot(mpg, aes(class, fill = drv)) +
geom_bar()
ggplot(mpg, aes(class, fill = drv)) +
geom_bar(position = "dodge")
ggplot(mpg, aes(class, fill = drv)) +
geom_bar(position = position_dodge(preserve = "single"))
散點(diǎn)圖的散點(diǎn)位置調(diào)整
# 圖1:散點(diǎn)圖的散點(diǎn)位置調(diào)整
ggplot(mpg, aes(displ, hwy)) +
geom_point()
ggplot(mpg, aes(displ, hwy)) +
geom_point(position = "jitter")
用patchwork包排布多個(gè)圖形
library(patchwork)
p1 <- ggplot(mpg, aes(displ, hwy)) +
geom_point()
p2 <- ggplot(mpg, aes(drv, displ)) +
geom_boxplot()
p3 <- ggplot(mpg, aes(drv)) +
geom_bar()
p1 | (p2 / p3)
p1 | p2 | p3
p1 / p2 / p3
p1 / (p2 | p3)
05
分面
利用分類變量把圖形分成若干“子圖”(面),實(shí)際上就是對(duì)數(shù)據(jù)分組后再畫圖,屬于數(shù)據(jù)分析里面細(xì)分和下鉆的思想。
5.1 用facet_wrap()函數(shù)
封裝分面,先生成一維的面板系列,再封裝到二維中。
語法形式:~ 分類變量 或者 ~ 分類變量1 + 分類變量2
參數(shù)scales設(shè)置是否共用坐標(biāo)刻度,fixed 默認(rèn) 共用, free 不共用,還可以額通過free_x,free_y單獨(dú)設(shè)置。
以上就是關(guān)于R語言基礎(chǔ)知識(shí)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
手機(jī)messenger語言設(shè)置(messenger怎么設(shè)置語言)
關(guān)鍵詞共現(xiàn)網(wǎng)絡(luò)分析(關(guān)鍵詞共現(xiàn)網(wǎng)絡(luò)分析R語言)
R語言數(shù)據(jù)分析報(bào)告(r語言數(shù)據(jù)分析報(bào)告案例醫(yī)藥)
鹿寨景點(diǎn)排行榜(鹿寨景點(diǎn)排行榜前十)
鎮(zhèn)魂街守護(hù)靈排行榜(鎮(zhèn)魂街守護(hù)靈人氣排行)