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