R語言的資料結構

2021-07-06 01:59:27 字數 1923 閱讀 1288

r擁有許多用於儲存資料的物件型別,包括標量、向量、矩陣、陣列、資料框和列表

1 標量

標量是只含乙個元素的向量,例如a

2 向量

r中的向量可以理解為一維的陣列,每個元素的mode必須相同.

函式c,是組合函式,可以用建立陣列,如

x b

x[2] 訪問陣列中第2個元素。這裡沒有下標,從 1 開始計算距離

x[c(2:4)] 訪問陣列中第2到4個元素

x[c(2,4)] 訪問陣列中第2個和第4個元素

3 矩陣

可以理解為二維陣列,每乙個元素必須要有相同的mode,使用matrix進行建立,matrix的形式為:

matrix(data = na, nrow = 1, ncol = 1, byrow = false,

dimnames = null)

該函式中,vector中為矩陣的元素,nrow表示行數,ncol表示列數,byrow為乙個布林向量表示是否按照行為主進行填充,預設按照列為主,dimnames為可選的制定行和列的名稱。

mdat 

mdat[2, ]

表示選取矩陣第1行元素

mdat[, 2]

表示選取矩陣第2列元素

mdat[1, 2]

表示選取矩陣第1行第2列元素

mdat[1, c(1, 2)]

表示選取矩陣第1行的第1個第2個元素

4 陣列

陣列使用array進行建立,與向量或者矩陣不同的是,array可以是多維的。array中的資料同樣是相同mode的,array函式的像是如下:

array(data = na, dim = length(data), dimnames = null),

其中vector包含array中的元素,dim是乙個向量指定array各個維度的大小,dimnames是乙個list指定各個維度對應的名稱。

dim1 

dim2

dim3

z z[1,2,3] 為 15 表示選取 x=1 y=2 z=3 的值,只有這一種選取方式

5 資料框:

資料框是我們常用的進行資料分析的資料儲存方式,和資料庫的每一行對應乙個記錄,每一列對應乙個字段,資料框使用data.frame(name1=col1, name2=col2,...)進行建立,注意是列主導。

patientid

age

diabetes

status

p p[1:2] 表示選取第一列第二列資料

p[c("a"),c("diabetes", "status")] 選取列表為"diabetes", "status",行名為"a"的資料

6 列表:

據型別中最為複雜的一種。一般來說,列表就是一些物件(或成分,component)的有序集合。列表允許你整合若干(可能無關的)物件到單個物件名下。例如,某個列表中可能是若干向量、矩陣、資料框,甚至其他列表的組合。列表和python中的dict很像,使用list進行建立,是行為主導的,list的形式為list(name1=object1, name2=object2,...)。

g h

j k

mylist

mylist[['ages']][1]   獲取名稱ages的元素的第乙個資料

mylist[c(1,2)] 獲得第乙個元素和第二個元素

實操過程如下:

R語言 資料結構

向量 my vector c 1,2,8,9,16 my vector 2 4 矩陣 矩陣行列命名,預設先排列 cells c 1,36,24,12 row names c r1 r2 col names c c1 c2 my matrix1 matrix cells,nrow 2,ncol 2,d...

R語言資料結構

字元 character 數值 numeric real numbers 整數 integer 複數 complex 邏輯 logical tf必須大寫 x true 常用方法 名稱維度 型別長度 建立 vector x vector character length 10 this is anno...

R語言 資料結構

向量vector本質作為一維陣列可以包含數字,字元,布林值 a c 1,2,5,3,6,2,4 b c one two three c c true,true,true,false,true,false 矩陣matrix 二維陣列 構造需要通過matrix方法實現 x matrix 1 20,nro...