R數(shù)據(jù)分析:結(jié)合APA格式作圖大法講講ggplot2和ggsci,請(qǐng)收藏

之前給大家寫過一篇plot的基礎(chǔ)操作史简,相信同學(xué)們應(yīng)該沒有看過癮乃秀。不過主流的用的多的還是ggplot2,所以今天打算結(jié)合一個(gè)形成APA樣板格式圖片的實(shí)例寫寫ggplot2的操作和圖的配色圆兵。

關(guān)于APA格式

大家可以去到美國(guó)心理學(xué)會(huì)的官網(wǎng)跺讯,就可以看到APA格式的詳細(xì)介紹了:

[圖片上傳失敗...(image-d489d9-1657458632167)]

包括論文模板、引注規(guī)則等等殉农,內(nèi)容可以說很豐富了刀脏,對(duì)于社科類學(xué)生,不會(huì)寫論文的超凳,這個(gè)網(wǎng)站就是金標(biāo)準(zhǔn)啦愈污,強(qiáng)烈推薦下。

不過我們今天關(guān)注的是里面的figure的標(biāo)準(zhǔn)轮傍,點(diǎn)開主頁的Tables and Figures我們進(jìn)入到下一個(gè)界面:

[圖片上傳失敗...(image-a58949-1657458632167)]

里面有表格模板暂雹,和figure模板,像表格模板里面创夜,回歸分析如何做表杭跪,因子分析如何做表等等的,人家都給了標(biāo)準(zhǔn)模板,這些不就是好多同學(xué)想要的嗎涧尿,好多同學(xué)跑來咨詢的嗎桨醋?一股腦人家美國(guó)心理學(xué)會(huì)全給大家整理好了,推薦一波现斋。具體到figure模板,里面有這么多:

[圖片上傳失敗...(image-bdad8f-1657458632167)]

像樣本納入排除的流程圖怎么做偎蘸,路徑分析的圖怎么做庄蹋,質(zhì)性研究,混合設(shè)計(jì)研究的圖等等應(yīng)有盡有無所不有迷雪,只能說---真好限书!

那么本文希望將下面的這一幅APA官網(wǎng)上的示例柱狀圖用ggplot2做出來,并在做過程中結(jié)合著給大家寫寫ggplot2的常見操作(ggplot2的作圖原理我看網(wǎng)上已經(jīng)有很多了章咧,大家可以自行去搜索學(xué)習(xí)倦西,本文略過)

[圖片上傳失敗...(image-19d835-1657458632167)]

實(shí)例操練

我的畫圖示例數(shù)據(jù)如下:

[圖片上傳失敗...(image-c1204f-1657458632167)]

可以看到數(shù)據(jù)中有我們畫柱狀圖需要的score和誤差線需要的upper和lower的值,和分組變量reward赁严。

第一步我們將映射關(guān)系處理好:

viz_data_one %>% 
  ggplot(aes(x = age_group,
             y = framing_score,
             fill = reward,
             ymin = lower,
             ymax = upper))

形成下圖扰柠,在上面的代碼中我只是告訴ggplot,我的xy軸分別是那兩個(gè)變量疼约,用什么變量去映射到填充色卤档,同時(shí)上下限分別是多少,僅此而已程剥,我并沒有告訴它應(yīng)該用什么geom去代表我的數(shù)據(jù)劝枣,所以ggplot不知道,它也不會(huì)給你展示任何的geometry织鲸,所以代碼運(yùn)行后輸出除了映射的xy軸舔腾,就沒了,如下:

[圖片上傳失敗...(image-7c2bd3-1657458632167)]

在上面的代碼繼續(xù)往下寫搂擦,我知道我需要一個(gè)柱狀圖稳诚,所以geometry應(yīng)該是geom_bar,同時(shí)我要用來畫柱子的變量-score就代表柱子的高度盾饮,不需要進(jìn)行統(tǒng)計(jì)轉(zhuǎn)換采桃,所以寫參數(shù)stat = 'identity';我需要3組柱子并排排列丘损,同時(shí)設(shè)定柱子之間的寬度(position_dodge(.6))和柱子的寬度(width)普办,到此時(shí)寫出代碼如下:

geom_bar(stat = 'identity',color='black',position = position_dodge(.6),width = .5)

上面代碼中的position_dodge就是要求柱子并列排列,里面的第一個(gè)參數(shù)就是并列的寬度徘钥,width = .5設(shè)定的是柱子的寬度衔蹲,運(yùn)行代碼后效果如下:

[圖片上傳失敗...(image-44fd27-1657458632167)]

感覺還不錯(cuò)哦。

下一步我們需要將誤差條加上,這又是另一個(gè)geom了舆驶,此時(shí)我們繼續(xù)加一個(gè)geometry橱健,叫做geom_errorbar,同樣的我們的誤差條和柱子一樣需要并列排列沙廉,同時(shí)我們的誤差棒的寬度也得減少拘荡,于是我們?cè)O(shè)定width = .1,同時(shí)position = position_dodge(.6)撬陵,寫出代碼如下:

geom_errorbar(width = .1, position = position_dodge(.6))

運(yùn)行后輸出如下:

[圖片上傳失敗...(image-bbf7c2-1657458632166)]

到現(xiàn)在圖中有兩個(gè)geom珊皿,一個(gè)bar,一個(gè)是errorbar巨税,我們的數(shù)據(jù)信息已經(jīng)全部通過geometry展示出來了蟋定。

接下來修飾細(xì)節(jié),首先是改變顏色草添,我們需要指定一下映射的顏色驶兜,具體來講我們是改變fill的填充色,所以需要用到scale_fill_manual函數(shù)远寸。

那么顏色怎么樣去選呢抄淑?或者怎么快速找到你心儀的顏色呢?

首先安裝colourpicker包而晒,然后你的Rstudio就會(huì)出現(xiàn)顏色選擇的插件了Plot Color Helper蝇狼,有了它你就可以非常方便地選出來你想要的顏色并得到顏色的表示方法:

[圖片上傳失敗...(image-3948cf-1657458632166)]

點(diǎn)擊Plot Colour Helper得到如下圖(我只截了一張,你可以選各種顏色的):

[圖片上傳失敗...(image-f07c10-1657458632166)]

通過這么一下倡怎,我就選了下面3個(gè)顏色迅耘,并且寫出如下代碼:

scale_fill_manual(values = c("#FAFAFA", "#FFA500", "#6CA6CD"))

此時(shí)再運(yùn)行輸出結(jié)果如下:

[圖片上傳失敗...(image-59560c-1657458632166)]

接下來我們要處理一些圖中的非數(shù)據(jù)元素(non-data elements),比如背景监署,比如各種標(biāo)簽颤专,首先我們改xy軸的標(biāo)簽和圖例的title,需要用到labs函數(shù)钠乏,寫出代碼如下:

  labs( x = "Age Group",y = "Framing Score",fill = NULL,title = "Low Risk") 

上面的代碼栖秕,x = "Age Group",y = "Framing Score"這都很簡(jiǎn)單,因?yàn)槲覀兊膱D例是針對(duì)fill的晓避,那么此時(shí)fill在labs中就是圖例的title簇捍,上面的代碼將圖例的title拿掉了,同時(shí)加上了整個(gè)圖的title俏拱。

還有我們需要將xy軸的結(jié)合位點(diǎn)設(shè)置為0暑塑,這個(gè)操作是針對(duì)y軸的,需要用到scale_y_continuous锅必,代碼如下:

  scale_y_continuous(expand = expansion(0), limits = c(0, 0.4), breaks = seq(0, .4, .1))

上面的代碼中expand是控制y軸的上下限的伸展程度的事格,expansion(0)就意味著y軸不做任何拓展,limits設(shè)定y軸的界限(其實(shí)是數(shù)據(jù)量的界限),breaks設(shè)定y軸上的ticks驹愚。

運(yùn)行后得到下圖:

[圖片上傳失敗...(image-b6916e-1657458632166)]

到這兒還有很多的非數(shù)據(jù)元素需要改動(dòng)远搪,需要用到theme函數(shù),原圖的背景版是白的逢捺,我們需要panel.background參數(shù)來設(shè)置背景版谁鳍,同時(shí)我希望整幅圖的title居中加粗,plot.title可以實(shí)現(xiàn)我的需求劫瞳,同理我們需要修正坐標(biāo)軸得用到axis.line棠耕,axis.title和axis.text,需要修改坐標(biāo)軸上的小標(biāo)可以用axis.ticks等等柠新;

上面提到的這些都叫做非數(shù)據(jù)繪圖元素,對(duì)于每一種元素都有對(duì)應(yīng)的元素函數(shù)辉巡,比如element_line(改變相應(yīng)元素的線條類型)恨憎,element_text(改變相應(yīng)元素的文本,包括大小郊楣,粗細(xì)...)等等:

Each element is associated with an element function, which describes the visual properties of the element. For example, element_text() sets the font size, colour and face of text elements like plot.title.

限于本文的篇幅憔恳,也沒法給大家介紹的很詳細(xì),大家可以搜搜這本書《ggplot2: Elegant Graphics for Data Analysis》净蚤,網(wǎng)上都有免費(fèi)的钥组,感興趣的同學(xué)可以去閱讀學(xué)習(xí),到這兒今瀑,我們的代碼寫出如下:

  theme(
    plot.margin = unit(c(1, 1, 1, 1), "cm"),
    panel.background = element_blank(),
    plot.title = element_text(size = 22, face = "bold",
                              hjust = 0.5,
                              margin = margin(b = 15)),
    axis.line = element_line(color = "black"),
    axis.title = element_text(size = 22, color = "black",
                              face = "bold"),
    axis.text = element_text(size = 22, color = "black"),
    axis.text.x = element_text(margin = margin(t = 10)),
    axis.text.y = element_text(size = 17),
    axis.title.y = element_text(margin = margin(r = 10)),
    axis.ticks.x = element_blank(),
    legend.position = c(0.20, 0.8),
    legend.background = element_rect(color = "black"),
    legend.text = element_text(size = 15),
    legend.margin = margin(t = 5, l = 5, r = 5, b = 5),
    legend.key = element_rect(color = NA, fill = NA)
  )

到此程梦,運(yùn)行上面的代碼后得到下圖:

[圖片上傳失敗...(image-b282ab-1657458632166)]

基本上和APA官網(wǎng)上的示例格式一樣了,示例完成橘荠!

ggsci的使用

接下來介紹ggsci屿附,這是一個(gè)比較高級(jí)的雜志配色板:

ggsci offers a collection of high-quality color palettes inspired by colors used in scientific journals, data visualization libraries, science fiction movies, and TV shows.

這么說吧,你圖畫好了哥童,像按照雜志配色挺份,就使用這個(gè)包就行,十分簡(jiǎn)單好用贮懈,這個(gè)包提供包括自然出版集團(tuán)Nature Publishing Group匀泊,美國(guó)科學(xué)促進(jìn)會(huì)American Association for the Advancement of Science,新英格蘭雜志The New England Journal of Medicine朵你,還有jama各聘,Lancet等等頂級(jí)期刊配色,所以想要成為大佬撬呢,得抓緊學(xué)會(huì)使用ggsci了伦吠。

用起來也很簡(jiǎn)單,做好圖之后直接改動(dòng)相應(yīng)的scale就行,比如我剛剛做的圖是用scale_fill_manual來定義顏色的毛仪,我直接將這行代碼改為scale_fill_aaas搁嗓,我就可以得到Science雜志的配色如下:

[圖片上傳失敗...(image-88c02-1657458632166)]

Science配色

改為scale_fill_npg,我便可以得到nature雜志的配色:

[圖片上傳失敗...(image-505e83-1657458632166)]

nature雜志配色

改為scale_fill_nejm箱靴,我便可以得到新英格蘭醫(yī)學(xué)雜志的配色:

[圖片上傳失敗...(image-300ef3-1657458632166)]

NEJM配色

不得不說高端雜志的調(diào)色盤腺逛,還是挺好看的

有沒有一種看了上面的內(nèi)容感覺發(fā)Science有望的感覺衡怀,如果有棍矛,請(qǐng)收藏本文并轉(zhuǎn)發(fā)擴(kuò)散,謝謝大家啦抛杨,如果還沒有也請(qǐng)收藏本文够委,說不定下次再回看就有了,哈哈哈哈怖现。

祝福大家早日成為大佬茁帽。

小結(jié)

今天結(jié)合一個(gè)畫圖示例,給大家整理了些許的ggplot2作圖思路和配色的操作屈嗤,如果每有g(shù)gplot原理的掌握的話估計(jì)看起來還是比較吃力潘拨,基本原理大家隨意搜搜都能搜得到資源的。

感謝大家耐心看完饶号,自己的文章都寫的很細(xì)铁追,重要代碼都在原文中,請(qǐng)轉(zhuǎn)發(fā)本文到朋友圈后私信回復(fù)“數(shù)據(jù)鏈接”獲取所有數(shù)據(jù)和本人收集的學(xué)習(xí)資料茫船。如果對(duì)您有用請(qǐng)先記得收藏琅束,再點(diǎn)贊分享。

也歡迎大家的意見和建議算谈,大家想了解什么統(tǒng)計(jì)方法都可以在文章下留言狰闪,說不定我看見了就會(huì)給你寫教程哦,有疑問歡迎私信濒生,有合作意向請(qǐng)直接滴滴我埋泵。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罪治,隨后出現(xiàn)的幾起案子丽声,更是在濱河造成了極大的恐慌,老刑警劉巖觉义,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雁社,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡晒骇,警方通過查閱死者的電腦和手機(jī)霉撵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門磺浙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人徒坡,你說我怎么就攤上這事撕氧。” “怎么了喇完?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵伦泥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我锦溪,道長(zhǎng)不脯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任刻诊,我火速辦了婚禮防楷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘则涯。我一直安慰自己域帐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布是整。 她就那樣靜靜地躺著,像睡著了一般民假。 火紅的嫁衣襯著肌膚如雪浮入。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天羊异,我揣著相機(jī)與錄音事秀,去河邊找鬼。 笑死野舶,一個(gè)胖子當(dāng)著我的面吹牛易迹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播平道,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼睹欲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了一屋?” 一聲冷哼從身側(cè)響起窘疮,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冀墨,沒想到半個(gè)月后闸衫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诽嘉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蔚出,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弟翘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡骄酗,死狀恐怖稀余,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酥筝,我是刑警寧澤滚躯,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站嘿歌,受9級(jí)特大地震影響掸掏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宙帝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一丧凤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧步脓,春花似錦愿待、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸳君,卻和暖如春农渊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背或颊。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工砸紊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人囱挑。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓醉顽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親平挑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子游添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容