運行基礎
在我們開始之前,讓我們確保您在運行 R 代碼已經有一個基礎,并且您了解一些最有用的 RStudio 功能。
1.1 編碼基礎
讓我們回顧一下迄今為止為了讓您快速繪圖而省略的一些基礎知識。將 R 用作計算器:
1 / 200 * 30
#> [1] 0.15
(59 + 73 + 2) / 3
#> [1] 44.66667
sin(pi / 2)
#> [1] 1
您可以使用<-命令創(chuàng)建新對象:
x <- 3 * 4
創(chuàng)建對象的 R 語句、賦值語句都具有相同的形式:
object_name <- value
閱讀該代碼時,請在腦海中說“對象名稱得到的值”。
你會做很多工作,并且<-是一個痛苦的輸入。不要懶惰地使用=:,它會起作用,但它會導致以后的混亂。相反,使用RStudio的鍵盤快捷鍵:Alt + -(負號)。注意,RStudio自動地用空格包圍<-,這是一種很好的代碼格式化實踐。
1.2 變量名
對象名稱必須以字母開頭,并且只能包含字母、數字、_和.. 您希望對象名稱具有描述性,因此您需要對多個單詞進行約定。我們建議snake_case將小寫單詞與_使用。
i_use_snake_case
otherPeopleUseCamelCase
some.people.use.periods
And_aFew.People_RENOUNCEconvention
我們稍后會回到代碼風格,在functions。
您可以通過鍵入名稱來檢查對象:
x
#> [1] 12
做另一個任務:
this_is_a_really_long_name <- 2.5
要檢查此對象,請嘗試 RStudio 的完成功能:鍵入“this”,按 Tab,添加字符直到您有唯一的前綴,然后按回車。
哎呀,你搞錯了!this_is_a_really_long_name值應該是 3.5 而不是 2.5。使用另一個鍵盤快捷鍵來幫助您修復它。輸入“this”,然后按 Cmd/Ctrl + ↑。這將列出您鍵入的所有以這些字母開頭的命令。使用箭頭鍵進行導航,然后按 Enter 重新鍵入命令。將 2.5 更改為 3.5 并重新運行。
再做一個任務:
r_rocks <- 2 ^ 3
讓我們試著檢查一下:
r_rock
#> Error: object 'r_rock' not found
R_rocks
#> Error: object 'R_rocks' not found
你和 R 之間有一個隱含的契約:它會為你做繁瑣的計算,但作為回報,你必須在你的指令中完全精確。錯別字很重要。
1.3 調用函數
R 有大量的內置函數,它們的調用方式如下:
function_name(arg1 = val1, arg2 = val2, ...)
讓我們嘗試使用seq(),它可以生成常規(guī)的數字序列,同時,我們還可以學習RStudio更多有用的特性。鍵入se并按TAB鍵。彈出窗口顯示可能的完成。通過輸入more(一個" q ")來消除歧義,或者通過↑/↓箭頭來選擇seq()。請注意彈出的浮動工具提示,它提醒您函數的參數和目的。如果您想要更多幫助,請按F1以在右下窗格的幫助選項卡中獲得所有詳細信息。
選擇所需功能后,再次按 TAB。RStudio 將為您添加匹配的開始 ( () 和結束 ( )) 括號。輸入參數1, 10并按回車鍵。
seq(1, 10)
#> [1] 1 2 3 4 5 6 7 8 9 10
鍵入此代碼并注意您會獲得與配對引號類似的幫助:
x <- "hello world"
引號和括號必須始終成對出現。RStudio 盡最大努力幫助您,但仍有可能搞砸并導致不匹配。如果發(fā)生這種情況,R 將向您顯示繼續(xù)符“+”:
> x <- "hello
+
該+告訴你的是,R正在等待更多的輸入; 它認為你還沒有完成。通常這意味著您忘記了一個"或一個 )。添加缺少的對,或按 ESCAPE 中止表達式并重試。
如果您進行分配,則無法看到其值。然后,您很想立即仔細檢查結果:
y <- seq(1, 10, length.out = 5)
y
#> [1] 1.00 3.25 5.50 7.75 10.00
這種常見的操作可以通過用括號括住賦值來縮短,這將直接賦值并顯示在屏幕上。
(y <- seq(1, 10, length.out = 5))
#> [1] 1.00 3.25 5.50 7.75 10.00
現在在右上角的窗格中查看您的環(huán)境:

在這里您可以看到您創(chuàng)建的所有對象。