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,該函式中,vector中為矩陣的元素,nrow表示行數,ncol表示列數,byrow為乙個布林向量表示是否按照行為主進行填充,預設按照列為主,dimnames為可選的制定行和列的名稱。dimnames = null)
mdat
mdat[2, ]表示選取矩陣第1行元素
mdat[, 2]表示選取矩陣第2列元素
mdat[1, 2]表示選取矩陣第1行第2列元素
mdat[1, c(1, 2)]4 陣列表示選取矩陣第1行的第1個第2個元素
陣列使用array進行建立,與向量或者矩陣不同的是,array可以是多維的。array中的資料同樣是相同mode的,array函式的像是如下:
array(data = na, dim = length(data), dimnames = null),
其中vector包含array中的元素,dim是乙個向量指定array各個維度的大小,dimnames是乙個list指定各個維度對應的名稱。
dim15 資料框:dim2
dim3
z z[1,2,3] 為 15 表示選取 x=1 y=2 z=3 的值,只有這一種選取方式
資料框是我們常用的進行資料分析的資料儲存方式,和資料庫的每一行對應乙個記錄,每一列對應乙個字段,資料框使用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...