3.R運(yùn)行前準(zhǔn)備——Project

R對(duì)象

有時(shí)候你需要放下正在做的R工作铸屉,在其它時(shí)間來接著分析退子;或者要同時(shí)進(jìn)行多個(gè)分析岖妄,這些分析都使用 R,并且您希望將它們分開寂祥;要處理這些現(xiàn)實(shí)生活中的情況荐虐,您需要做出兩個(gè)決定:

  1. 那么你的分析是“真實(shí)的”,即你將保存什么作為你對(duì)發(fā)生的事情的持久記錄丸凭?

  2. 您的分析“保存”在哪里福扬?

3.1 真實(shí)存在的東西腕铸?

作為 R 初學(xué)者,可以考慮您“真實(shí)”的環(huán)境(即環(huán)境窗格中列出的對(duì)象)忧换。但是恬惯,從長遠(yuǎn)來看,如果您認(rèn)為 R 腳本是“真實(shí)的”亚茬,您的情況會(huì)好得多酪耳。

使用 R 腳本(和數(shù)據(jù)文件),您可以重新創(chuàng)建環(huán)境刹缝。從環(huán)境中重新創(chuàng)建 R 腳本要困難得多碗暗!您要么必須從內(nèi)存中重新鍵入大量代碼(始終出錯(cuò)),要么必須仔細(xì)挖掘您的 R 歷史記錄梢夯。

為了培養(yǎng)這種行為言疗,我強(qiáng)烈建議,指示 RStudio 不要在會(huì)話之間保留您的工作區(qū):

image

短期來說颂砸,這可能是比較麻煩的事情噪奄,但是長遠(yuǎn)來考慮的話,這將會(huì)為你節(jié)省很多的運(yùn)算時(shí)間人乓,提高工作效率勤篮。

以下兩個(gè)快捷鍵非常有用:

  1. 按 Cmd/Ctrl + Shift + F10 重新啟動(dòng) RStudio。
  2. 按 Cmd/Ctrl + Shift + S 重新運(yùn)行當(dāng)前腳本色罚。

3.2 在哪里執(zhí)行你的分析碰缔?

R 有一個(gè)工作目錄。這是 R 查找您要求它加載的文件的位置戳护,即是放置保存的任何文件的位置金抡。RStudio 在控制臺(tái)頂部顯示您當(dāng)前的工作目錄:

image

你可以通過運(yùn)行getwd()在 R 代碼中打印出來當(dāng)前工作目錄:

getwd()
#> [1] "/Users/hadley/Documents/r4ds/r4ds"

作為 R 的初學(xué)者,可以讓您的主目錄腌且、文檔目錄或計(jì)算機(jī)上任何其他奇怪的目錄成為 R 的工作目錄梗肝。

setwd("work_dir")可以從 R 中設(shè)置工作目錄:

setwd("/path/to/my/CoolProject")

3.3 路徑和目錄

路徑和目錄有點(diǎn)復(fù)雜,因?yàn)槁窂接袃煞N基本樣式:Mac/Linux 和 Windows铺董。它們的主要有以下三種區(qū)別:

  1. 最重要的區(qū)別在于您如何分離路徑统捶。Mac 和 Linux 使用斜杠(例如 plots/diamonds.pdf),Windows 使用反斜杠(例如 plots\diamonds.pdf)柄粹。R 可以使用任何一種類型(無論您當(dāng)前使用什么平臺(tái))喘鸟,但不幸的是,反斜杠對(duì) R 有特殊意義驻右,如果要在路徑中獲得一個(gè)反斜杠什黑,您需要鍵入兩個(gè)反斜杠!這樣操作比較繁瑣堪夭,因此我建議始終使用帶有正斜杠的 Linux/Mac 樣式愕把。

  2. 絕對(duì)路徑(即無論您的工作目錄如何都指向同一位置的路徑)看起來不同拣凹。在 Windows 中,它們以一個(gè)驅(qū)動(dòng)器號(hào)(例如 C:)或兩個(gè)反斜杠(例如 \\servername)開頭恨豁,而在 Mac/Linux 中它們以斜杠“/”(例如/users/hadley)開頭 嚣镜。你永遠(yuǎn)不應(yīng)該在你的腳本中使用絕對(duì)路徑,因?yàn)樗鼈儾焕诠蚕恚浩渌说哪夸浥c你配置的目錄不一定相同橘蜜。

  3. 最后一個(gè)小區(qū)別是~指向的地方菊匿。~是您的主目錄的便捷快捷方式。Windows 并沒有真正的主目錄的概念计福,因此它指向您的文檔目錄跌捆。

3.4 RStudio 對(duì)象

經(jīng)常使用R的人會(huì)將與項(xiàng)目相關(guān)的所有文件保存在一起——輸入數(shù)據(jù)、R 腳本象颖、分析結(jié)果佩厚、數(shù)字。這是一個(gè)非常明智和普遍的做法说订,RStudio 通過*Project為此提供了內(nèi)置支持抄瓦。

讓我們生成一個(gè)對(duì)象供您在閱讀本書其余部分時(shí)使用。單擊文件 > 新建項(xiàng)目陶冷,然后:

image
image
image

調(diào)用你的項(xiàng)目r4ds,仔細(xì)想想你把項(xiàng)目放在哪個(gè)子目錄埃叭。如果你不把它存放在一個(gè)合理的地方摸恍,以后很難找到它悉罕!

完成此過程后赤屋,您將獲得一個(gè)專用于本書的新 RStudio 項(xiàng)目。檢查項(xiàng)目的“home”目錄是否為當(dāng)前工作目錄:

getwd()
#> [1] /Users/hadley/Documents/r4ds/r4ds

每當(dāng)您引用具有相對(duì)路徑的文件時(shí)壁袄,它都會(huì)在此處查找类早。

現(xiàn)在在腳本編輯器中輸入以下命令,并保存文件嗜逻,命名為“diamonds.R”涩僻。接下來,運(yùn)行完整的腳本栈顷,該腳本會(huì)將 PDF 和 CSV 文件保存到您的項(xiàng)目目錄中逆日。

library(tidyverse)

ggplot(diamonds, aes(carat, price)) + 
  geom_hex()
ggsave("diamonds.pdf")

write_csv(diamonds, "diamonds.csv")

退出 RStudio。檢查與您的項(xiàng)目關(guān)聯(lián)的文件夾 ——注意.Rproj文件萄凤。雙擊該文件將重新打開該項(xiàng)目室抽。請(qǐng)注意,您將回到上次中斷的地方:它是相同的工作目錄和命令歷史記錄靡努,并且您正在處理的所有文件仍處于打開狀態(tài)坪圾。因?yàn)槟裱宋疑厦娴恼f明晓折,所以您將擁有一個(gè)全新的環(huán)境,保證您從一個(gè)干凈的石板開始兽泄。

用你最喜歡的特定操作系統(tǒng)的方式漓概,在你的電腦上搜索diamonds.pdf,你會(huì)找到這個(gè)PDF(毫無疑問)病梢,還有創(chuàng)建它的腳本(diamonds.R)胃珍。

3.5總結(jié)

總之,RStudio 項(xiàng)目為您提供了一個(gè)可靠的工作環(huán)境飘千,它將在未來為您提供更好的服務(wù):

  • 為每個(gè)數(shù)據(jù)分析項(xiàng)目創(chuàng)建一個(gè) RStudio 項(xiàng)目堂鲜。

  • 將數(shù)據(jù)文件保存在相應(yīng)的位置。

  • 腳本保存护奈;編輯腳本缔莲,按行或整體運(yùn)行它們。

  • 保存您的輸出(繪圖和清理過的數(shù)據(jù))霉旗。

  • 只使用相對(duì)路徑痴奏,而不是絕對(duì)路徑。

您需要的一切都在一個(gè)地方厌秒,并與您正在處理的所有其他項(xiàng)目完全分開读拆。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鸵闪,隨后出現(xiàn)的幾起案子檐晕,更是在濱河造成了極大的恐慌,老刑警劉巖蚌讼,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辟灰,死亡現(xiàn)場離奇詭異,居然都是意外死亡篡石,警方通過查閱死者的電腦和手機(jī)芥喇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凰萨,“玉大人继控,你說我怎么就攤上這事∨志欤” “怎么了武通?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長珊搀。 經(jīng)常有香客問我冶忱,道長,這世上最難降的妖魔是什么食棕? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任朗和,我火速辦了婚禮错沽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘眶拉。我一直安慰自己千埃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布忆植。 她就那樣靜靜地躺著放可,像睡著了一般。 火紅的嫁衣襯著肌膚如雪朝刊。 梳的紋絲不亂的頭發(fā)上耀里,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音拾氓,去河邊找鬼冯挎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛咙鞍,可吹牛的內(nèi)容都是我干的房官。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼续滋,長吁一口氣:“原來是場噩夢啊……” “哼翰守!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疲酌,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蜡峰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后朗恳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體湿颅,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年僻肖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肖爵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卢鹦。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡臀脏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出冀自,到底是詐尸還是另有隱情揉稚,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布熬粗,位于F島的核電站搀玖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏驻呐。R本人自食惡果不足惜灌诅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一芳来、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猜拾,春花似錦即舌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至盯仪,卻和暖如春紊搪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背全景。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國打工耀石, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人爸黄。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓娶牌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親馆纳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诗良,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

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