R語言 六大資料結構

2022-08-26 12:21:12 字數 2811 閱讀 2402

r語言有六種基本的資料結構(或者說資料型別吧)。根據資料的維度同質/異質可分為5種資料型別,最後再介紹一種特殊的型別「因子」。

同質異質

1維原子向量

列表

2維矩陣

資料框

n維陣列

對於各種型別的具體操作,本文不展開講。本文僅介紹它們各自的一些生成方式。

(1)原子向量

乙個有趣的事情:r中最小的單位並不是「數」,而是「向量」。

例如:

> n=5

> is.vector(n) #判斷n的資料型別是否為向量

[1] true

對於生成乙個向量,我們可以有多種方式:

> 1:6

[1] 123

456> 8:3

[1] 876

543> seq(2,9,by=3)[

1] 258

> c(9,4,5)[

1] 9

45

(2)列表

列表可以包含數字、字串、向量,甚至是列表、矩陣、函式。由list()建立。

> a=list(1,c(5,2,3),'

sfd',t,list(1,3

))>a[[1

]][1] 1[[2

]][1] 523

[[3]][

1] "

sfd"[[4

]][1] true[[5

]][[

5]][[1]][

1] 1

[[5]][[2]][

1] 3

(3)矩陣

二維。由matrix()建立。

> a=matrix(seq(0,10,by=0.9),nrow=4,byrow=true)  #行數為4;按行輸入(預設按列輸入)

>a

[,1] [,2] [,3][

1,] 0.0

0.91.8

[2,] 2.7

3.64.5

[3,] 5.4

6.37.2

[4,] 8.1

9.09.9

(4)資料框

資料幀(data frame,有人也叫資料框)也是二維結構,其中每一列包含乙個變數的所有值。

資料幀的性質:

生成資料幀由data.frame()建立。

> a=data.frame(name=c('

mike

','jane

','king

','tom

'),height=c(160,155,166,159),weight=c(65,48,55,53

))>a

name height weight

1 mike 160

652 jane 155

483 king 166

554 tom 159

53

(5)陣列

陣列可以是多維的。由函式array()建立。

> a=array(c(1,4,5,6,7),dim=c(4,3,2

))>a

, , 1[,

1] [,2] [,3][

1,] 176

[2,] 417

[3,] 541

[4,] 654

, , 2[,

1] [,2] [,3][

1,] 541

[2,] 654

[3,] 765

[4,] 1

76

(6)因子

因子是用於對資料進行分類並將其儲存為級別的資料物件。 它們可以儲存字串和整數。 它們在具有有限數量的唯一值的列中很有用。 像「男性」,「女性」和true,false等。它們在統計建模的資料分析中很有用。

使用factor()函式通過將向量作為輸入建立因子。

> a=c(t,f,f,t,t,t,f)

>a[1

] true false false true true true false

>factor(a)[1

] true false false true true true false

levels: false true

也可由資料幀建立因子:

> a=data.frame(name=c('

mike

','jane

','king

','tom

'),height=c(160,155,166,159),weight=c(65,48,55,53

))>a

name height weight

1 mike 160

652 jane 155

483 king 166

554 tom 159

53>a$name[1

] mike jane king tom

levels: jane king mike tom

六大資料型別 number

六大資料型別 intvar 123 二進位制整型 intvar 0b1111 八進位制整型 intvar 0o125 十六進製制整型 intvar 0x1010 表達方式1 floatvar 4.88 表達方式2 科學計數法 floatvar 6.7e4 e4代表向右移動4位 e 4代表向左移動四位...

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...