官术网_书友最值得收藏!

2.2 設定變量

2.2.1 問題

將某個值賦值給一個變量。

2.2.2 解決方案

使用賦值運算符(<-)進行賦值。在賦值前無須對變量進行聲明。


x <- 3

2.2.3 討論

R軟件采用“計算器”模式,方便快捷。但是,有時候需要定義變量并保存變量值。這省去了重復輸入的時間并使你的工作更為明晰。

在R軟件中,不必對變量進行聲明或者顯式地創建變量,只需要將值賦予一個名稱,R軟件就會自動生成該名稱的變量:


x <- 3
y <- 4
z <- sqrt(x^2 + y^2)
print(z)
#> [1] 5

注意,賦值操作由一個小于號(<)和一個連字符(-)構成,兩個符號之間沒有空格。

當使用此方法在命令行提示符處定義變量時,該變量將存儲到當前的工作空間中。工作空間僅存儲在計算機的內存中,但你可以把工作空間保存至本地硬盤。該變量會留存在工作空間,直至用戶刪除該變量。

R軟件是動態的輸入語言,即可隨意改變變量的數據類型。我們可以先定義x為數值型變量,隨后馬上對其賦值一個字符串向量,在這一過程中R軟件能完全理解用戶的意圖:


x <- 3
print(x)
#> [1] 3

x <- c("fee", "fie", "foe", "fum")
print(x)
#> [1] "fee" "fie" "foe" "fum"

在某些R函數中,你會看到很特別的賦值符號<<-:


x <<- 3

這一操作能強制賦值給一個全局變量,而不是局部變量。但是,這超出了本次討論的范圍。

為了全面介紹,在此給出另外兩種賦值方式:在命令提示符中使用單個等號(=)也可以對變量進行賦值;在所有可以應用向左賦值符號(<-)的地方都可以應用向右賦值符號(->),它可以對右側變量進行賦值(參數順序互換了)。


foo <- 3
print(foo)
#> [1] 3

5 -> fum
print(fum)
#> [1] 5

我們建議你避免這些用法。等號賦值很容易與邏輯運算的檢驗相等中的等號混淆。向右賦值在某些情況下可能很有用,但對于那些不習慣看到它的人來說可能會令人困惑。

2.2.4 另請參閱

關于assign函數的幫助頁面,請參考2.4節、2.14節和3.3節。

主站蜘蛛池模板: 济源市| 梁平县| 新余市| 唐山市| 常州市| 泸西县| 农安县| 会昌县| 囊谦县| 葫芦岛市| 柘荣县| 太康县| 湘乡市| 甘洛县| 合山市| 新兴县| 紫金县| 电白县| 万载县| 长乐市| 滨海县| 开鲁县| 左权县| 荃湾区| 亚东县| 郸城县| 满城县| 揭东县| 乌审旗| 稻城县| 靖宇县| 金塔县| 卫辉市| 饶河县| 蓝山县| 大厂| 井冈山市| 乐至县| 香港 | 巴林左旗| 疏勒县|