R語言入門2:數(shù)據(jù)結(jié)構(gòu)-1

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寫作。

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容