1.對象和屬性
在R中有5種基本的對象類型(classes of subjects):
- 字符:character,如"hello,world"
- 數(shù)值:numeric, 可為整數(shù)或小數(shù),如3或3.1415926
- 整數(shù):integer,如1,2,3
- 復(fù)數(shù):complex,如1+2i
- 邏輯:logical。TRUE/FALSE
下面,我們在RStudio中一一操作,體會一下R的5種對象類型。值得注意的是,與常見的其他計(jì)算機(jī)語言不同,R的賦值符號是<-,而不是=。
> x <- 1 # 將1賦值給x
> class(x) # 使用class()函數(shù)查看x的類型
[1] "numeric" # x是整數(shù)1,但類型是數(shù)值
> y <- 3.14
> class(y)
[1] "numeric" # y是小數(shù),類型仍是數(shù)值
> z <- 2L # 將2賦值給z,通過L限定z的類型為整數(shù)
> class(z)
[1] "integer" # z的類型是整數(shù)
> m <- "hello world" # 賦值字符時,需加""
> class(m)
[1] "character" # m的類型為字符
> t <- TRUE
> class(t)
[1] "logical" # t的類型為邏輯
> n <- 1+2i
> class(n)
[1] "complex" # n的類型為復(fù)數(shù)
R中對象的屬性(attribute)
- 名稱(name)
- 維度(dimendions:matrix,array)
- 類型(class)
- 長度(length)
2.向量(vector)
向量是R中常用的一種數(shù)據(jù)結(jié)構(gòu),可包括多個元素,但這些元素必須屬于同一種類型。
A.創(chuàng)建向量的幾種方式
(1)使用vector函數(shù)創(chuàng)建指定長度的空向量
# 使用vector(類型,長度)函數(shù)創(chuàng)建向量
> x1 <- vector(mode = "character", length = 10) # 創(chuàng)建一個長度為10的字符型空向量
> class(x1)
[1] "character" # 查看x1的類型,確實(shí)為字符型
> x2 <- vector("numeric",15) # 創(chuàng)建一個長度為15的數(shù)值型空向量
> class(x2)
[1] "numeric" # 查看x2的類型,確實(shí)為數(shù)值型
(2)創(chuàng)建整數(shù)型向量
> x3 <- 1:10 #將1到10的整數(shù)賦值給向量x3
> x3 #打印出x3中的元素
[1] 1 2 3 4 5 6 7 8 9 10
> class(x3)
[1] "integer" #查看x3中元素的類型,為整數(shù)型
(3)使用函數(shù)c()創(chuàng)建向量
使用c()函數(shù)創(chuàng)建向量時,需要指定向量中的每一個元素。
> x5 <- c(1,2,3,4,5) # 創(chuàng)建向量x5,包含1到55個元素
> x5 # 打印x5的元素
[1] 1 2 3 4 5
> class(x5)
[1] "numeric" # 查看向量x5的類型,為數(shù)值型
向量中的元素必須為同一種類型,當(dāng)用從c()函數(shù)創(chuàng)建向量時,如果其中的元素不是同一種類型,R會自動轉(zhuǎn)換成同一種類型:
> x6 <- c(1,23,TRUE,"hello,world") #創(chuàng)建含有不同類型元素的向量
> x6
[1] "1" "23" "TRUE" "hello,world" # 打印出的x6全是字符
> class(x6)
[1] "character" #顯示x6中的元素全是字符型,說明R自動將數(shù)值型和邏輯型元素都轉(zhuǎn)換為字符型。
B.強(qiáng)制轉(zhuǎn)換向量中元素的類型
向量中的元素類型是可以進(jìn)行轉(zhuǎn)換的:
> x7 <- c(1,2,3,5,6,7) #創(chuàng)建數(shù)值型向量
> class(x7)
[1] "numeric"
> as.character(x7) # 使用as.as.character()函數(shù)將x7中的元素轉(zhuǎn)換成字符型
[1] "1" "2" "3" "5" "6" "7"
> class(x7)
[1] "numeric" # x7中的元素全部被轉(zhuǎn)換成字符型
常用的強(qiáng)制轉(zhuǎn)換類型的函數(shù)還有as.logical, as.numeric
C.向量的屬性
最常用的向量的屬性為類型,我們可以通過class()查看向量的類型。
使用names()函數(shù)給向量添加名稱
> x8 <- c(2,4,6,8,10) # 創(chuàng)建數(shù)值型向量
> x8
[1] 2 4 6 8 10
> names(x8) <- c("a","b","c","d","e") # 給向量x8添加名稱
> x8 # 成功為向量中的每一個元素添加名稱
a b c d e
2 4 6 8 10
注:本文為我在慕課網(wǎng)課程R語言基礎(chǔ)的學(xué)習(xí)筆記,使用Markdown寫作。