R語言基礎語法
學習一門新的語言,率先學習輸出hello world.我們就從這裏開始學習.
首先打開RStudio這個IDE,然後在左邊輸入:
1 > mystr <- "hello world" 2 > print(mystr)
如圖所示,當我們在左邊擼完之後,右邊可以看到我們剛才的變量.
這裏,關於R語言中的賦值語句是: 變量 <- 值,不同其他語言的=,但是也可以使用=賦值,但是不推薦.輸出語句是print(值)
我們可以使用class()方法查看它的類型.如:
同時,在R語言中,#是註釋,不像其他語言的//或者/**/,如我們創建一個方法a,然後為該方法寫一個註釋:
在R語言中,R語言與其他編程語言(如C語言和Java)相反,變量不會被聲明為某些數據類型。 變量被分配給R對象,並且R對象的數據類型轉變為變量的數據類型。 有很多類型的R對象。 常用R對象是
- 向量
- 列表
- 矩陣
- 數組
- 因子
- 數據幀
這些對象中最簡單的是向量對象,並且向量對象有六種數據類型的原子向量,也稱為六類向量。 其他R對象是建立在原子向量之上的。六類向量類型如下表所示
數據類型 | 示例 | 驗證代碼 | 輸出結果 |
---|---|---|---|
邏輯 | TRUE, FALSE | v <- TRUE ; print(class(v)); |
[1] "logical" |
數字值 | 1, 2.3, 92 | v <- 23.5 ; print(class(v)); |
[1] "numeric" |
整數 | 1L, 22L, 0L | v <- 2L ; print(class(v)); |
[1] "integer" |
復數 | 3 + 2i | v <- 2+5i ; print(class(v)); |
[1] "complex" |
字符 | ‘a’ , “abc”, “TRUE”, ‘12.2’ | v <- "TRUE" ; print(class(v)); |
[1] "character" |
原生 | "Hello" 存儲值為: 48 65 6c 6c 6f |
v <- charToRaw("Hello"); print(class(v)); |
[1] "raw" |
在R編程中,非常基本的數據類型是叫作向量的R對象,它們保存不同類的元素,如上所示。 請註意在R語言中,類型的數量不僅限於上述六種類型,還有向量,列表等等,接下來我們就詳細學習這幾個類型.
1.向量:
--只能包含同一類型的對象
--創建向量
創建一個向量,一個有三種方式. 1.使用vector() 2.直接賦值 3.c().如:
在R中,系統也會對向量中的不同數據類型進行轉換,轉換為同一類型.
如,向量x3賦值時,是邏輯TRUE,數值1,字符abc,在輸出時,系統全部自動轉換為字符表示.
向量x4賦值時,是字符a,b,c,我們可以全部轉為字符類型.但是會產生缺省值.
2.矩陣(matrix)
--向量 + 維度屬性(整數向量:nrow,ncol)
--創建矩陣:1.使用matrix() 2.先來一個向量在為其添加維度屬性.
這裏,可以看到一個3行,2列,缺省值NA的矩陣
.然後,我們再創建一個矩陣,並且為其賦值1到6,其中我們看出來,是先填滿第一列,然後再第二列....
其中,矩陣有一個dim(),可以顯示該矩陣有幾行幾列.如x1有三行兩列.
該矩陣的屬性可以通過attributes()顯示
這裏,正如前面所說矩陣=向量+維度信息.因此我們可以先創建一個向量,然後為它添加維度信息來創建一個矩陣,如
在學習下如何把兩個矩陣拼接為一個矩陣.
矩陣y,y1:
把兩個矩陣按照行來拼接:rbind()
把兩個矩陣按照列來拼接:cbind()
3.數組(array)
-- 與矩陣類似,只是維度可以大於等於2
--創建矩陣:使用array()
創建一個1到24的數組,dim = c(4,6)是指定他有四行,六列.該維度等於2,也可以說是一個矩陣.如:
創建一個1到24的數組,dim = c(2,3,4)是指定維度是2,3,4.他的維度大於2,是一個典型的數組.如:
4.列表(list)
--可以包含不同類型的對象
-- 創建:list()
創建一個list,元素為字符a,數字12,整數2,復數2+3i,邏輯TRUE.
為每一個元素去個別名.
創建一個list,元素分別為兩個向量.
5.因子(factor)
--是使用向量創建的R對象.
--創建 factor()
創建一個因子,標示一組人的男女,levels默認
levels自己制定
查看各元素個數:table()
levels是因子的屬性,我們去掉該屬性看一下.unclass()
6.數據幀
-- 是表格數據對象.其中各列對象可以不同.
--創建:data.frame()
輸出:
R語言基礎語法