1.R運行前準備——運行技巧

運行基礎

在我們開始之前,讓我們確保您在運行 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)境:

image

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

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容