HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    R語言基礎(chǔ)知識(shí)(r語言基礎(chǔ)知識(shí)代碼)

    發(fā)布時(shí)間:2023-04-07 18:40:20     稿源: 創(chuàng)意嶺    閱讀: 102        

    大家好!今天讓創(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í)(r語言基礎(chǔ)知識(shí)代碼)

    一、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ù)靈人氣排行)