在前一篇中,咱們介紹了 R
語言和 R Studio
的安裝,並簡單的介紹了一個示例,接下來讓咱們由淺入深的學習 R
語言的相關知識。數組
本篇將主要介紹 R
語言的基本操做、變量和幾種基本數據類型,好對 R
語言的使用方法有一個基本的概念。經過本篇的學習,你將瞭解到:函數
R
語言有哪些基本操做R
語言有哪些基本數據類型,如何肯定變量的數據類型R
語言的默認提示符是 >
,它表示正在等待輸入命令,每次輸入命令後敲擊回車便可執行當前命令。學習
R
語言支持的基本操做主要有加、減、乘、除、取餘和冪運算,對應的運算符分別爲:+、-、*、/、%%、^。code
加減乘除就沒必要多說了,但有一點須要提一下,跟許多語言不同的是,R
語言中,除法運算獲得的不是整數部分,而是包含小數部分的結果。對象
> 9/2 [1] 4.5 > 9/4 [1] 2.25 > 11/3 [1] 3.666667
取餘運算的含義是計算整除後的餘數:blog
> 9 %% 2 [1] 1 > 9 %% 4 [1] 1 > 9 %% 3 [1] 0 > 11 % 4 錯誤: unexpected input in "11 % 4"
在使用時須要注意的是有兩個百分號組成,輸入錯誤則會得上上述錯誤提示。字符串
冪運算跟數學中的冪運算含義一致,2^3
表明的是2的3次冪:input
> 2 ^ 3 [1] 8 > 3 ^ 2 [1] 9 > 2 ^ 10 [1] 1024 > 2 ^ 100 [1] 1.267651e+30
在使用 R
語言時,咱們一般很難一步到位獲得最終的結果,須要進行一些複雜的計算。這時咱們便須要使用變量來存放計算獲得的中間結果。原型
R
語言中,能夠將變量想象成一個盒子,咱們能夠將任何數據暫存到這個盒子裏,但同一時刻,這個盒子只能保存一個數據,若是被屢次賦值,則只會保存最後一次放入的數據。數據分析
R
語言中的賦值符號是 ->
,雖然也可使用 =
進行賦值,但強烈建議不要這樣作,這樣不只顯得不專業,並且在一些狀況下會出現問題。
> x <- 3 > x <- 4 > x <- 9 > x [1] 9
R
語言中的變量不須要事先聲明,直接使用便可。若是使用了一個以前沒有出現過的變量,則會建立一個新的變量。R
語言中變量是區分大小寫的,x
與 X
是兩個不一樣的變量。
> X 錯誤: 找不到對象'X' > X <- 1 > X <- 3 > X [1] 3 > x [1] 9
變量都是有名字的,好比x
、y
、stu_score
,變量的命名必須知足如下規則:
在 R
語言中,若是非要搞一些騷操做,用一些奇怪的變量名,也不是不能夠,須要用反引號來包裹。
> `* 90` <- 10 > `* 90` [1] 10 > `變量` <- 20 > `變量` [1] 20
固然,不建議這樣作,變量取名最好簡單且有意義,這樣能夠減小與其餘人的溝通成本以及往後的理解成本。
R
語言中主要數據類型有:向量、列表、矩陣、因子、數據框、數組。這些會在後面的文章中進行介紹,本篇只介紹基本的幾種數據類型。
邏輯型數據有兩種可能的值,TRUE
或 FALSE
。
> v <- TRUE > class(v) [1] "logical" > y <- FALSE > class(v) [1] "logical" > y <- false 錯誤: 找不到對象'false'
class
函數能夠獲取變量的類型信息,能夠看到,變量 v
和 y
都是 logical
類型。須要注意的是 TRUE
和 FALSE
必須所有大寫,不然會出現上面的錯誤提示。
R
語言中數字的默認類型爲數值型,在運算時須要注意其精度問題,當整數部分大於等於7位時,將捨棄小數部分,當整數部分小於7位時,與小數部分一塊兒最多保留7位數字。
> i <- 10 > class(i) [1] "numeric" > j <- 11.1 > class(j) [1] "numeric" > k <- 1.1234567890 > class(k) [1] "numeric" > k [1] 1.123457 > k <- 123456789.123456789 > k [1] 123456789 > k <- 1234567.123456789 > k [1] 1234567 > k <- 123456.123456789 > k [1] 123456.1
R
語言中,整數型須要使用數字+L來表示,如:2L
、11L
、-10L
。
> i <- 1L > class(i) [1] "integer" > j <- 22L > class(j) [1] "integer" > k <- -10L > class(k) [1] "integer"
R
語言中字符型即字符串類型,一般爲用單引號或雙引號包圍的字符串。
> name <- "Frank" > class(name) [1] "character" > doc_name <- "study.mp4" > class(doc_name) [1] "character"
R
語言是支持複數計算的,複數也是 R
語言的基本類型之一。
> c1 <- 3 + 2i > class(c1) [1] "complex" > c2 <-6 - 3i > class(c2) [1] "complex"
R
語言還有一種不太常見的基本數據類型,叫原型(raw
)。raw
類型是直接使用其二進制內容來進行保存和使用的類型。
> v <- charToRaw("Hello") > class(v) [1] "raw" > v [1] 48 65 6c 6c 6f
當咱們拿到一個變量以後,如何判斷它的數據類型呢?上面的例子中,其實已經有所說起,使用 class()
函數能夠簡單方便的查看變量的類型,但還有更簡單的方式,爲了判斷某個變量x
保存的基本類型,能夠用 is.xxx()
類函數,如is.integer(x)
, is.double(x)
, is.numeric(x)
, is.logical(x)
, is.character(x)
, is.complex(x)
, is.raw(x)
。 其中 is.numeric(x)
對 integer
和 double
內容都返回真值。
> is.character(s) [1] TRUE > is.character(v) [1] FALSE > is.raw(v) [1] TRUE > is.integer(i) [1] TRUE > is.numeric(i) [1] TRUE > is.complex(c1) [1] TRUE > is.integer(c1) [1] FALSE
至此,本篇就告一段落了,相信經過本篇的學習,對 R
語言的基本數據類型能有一個總體的掌握,別忘了回顧一下以前的問題,這些你都瞭解了嗎:
R
語言有哪些基本操做R
語言有哪些基本數據類型,如何肯定變量的數據類型以後的篇章中,將會繼續介紹 R
語言的各方各面,讓 R
語言能爲咱們的數據分析提供更強力的支持!