一資料型別
1、向量操作
1 a上面**是建立矩陣的**,第一段跟第二段的區別是後者採用了按行的方式填充,r中預設是按列填充。2 b
one", "
two", "
three")
3 c
上面把3列向量賦與a,b,c,注意這裡向量內的元素必須是同一種資料型別(數值型、字元型和邏輯型)
訪問向量如a[c(2,4)],將會得到a[2]跟a[4]的值,注意r與c、python不一樣,下標訪問從1開始。
a[2:4] 得到a[2],a[3],a[4]三個值,這裡2:4等價於c(2,3,4)
2、矩陣操作
1 > y
2 >y
3 [,1] [,2]
4 [1,] 1 6
5 [2,] 2 7
6 [3,] 3 8
7 [4,] 4 9
8 [5,] 5 10
9 > y
10 >y
11 [,1] [,2]
12 [1,] 1 2
13 [2,] 3 4
14 [3,] 5 6
15 [4,] 7 8
16 [5,] 9 10
1 cells類似跟向量一樣矩陣內的元素也要保持一致,上面**可以給行列取別名。東邪', '
西毒', '
南帝', '北丐'
)2 rnames
r1", "r2"
)3 cnames
c1", "c2"
)4 mymatrix
5 dimnames =list(rnames, cnames))
67 >mymatrix
8c1 c2
9 r1 "東邪"
"西毒"10 r2 "南帝"
"北丐"
訪問矩陣:
1 > mymatrix[2]3、資料框操作2 [1] "南帝"
3 > mymatrix[2,2]
4 [1] "北丐"
5 > mymatrix[2,1:2]
6c1 c2 7"
南帝""北丐
"8 > mymatrix[2,]
9c1 c2 10"
南帝""北丐
"11 > mymatrix[,1]
12r1 r2 13"
東邪""南帝
"14 > mymatrix[,1:2]
15c1 c2
16 r1 "東邪"
"西毒"17 r2 "南帝"
"北丐"
這是r裡應用較為廣泛的資料結構,它較矩陣具有更一般的形式,data_frame
建立乙個資料框
1 > patientidpatientdata是乙個包含4列的資料框,訪問每一列可以用patientdata$age實現2 > age
3 > diabetes
type1
", "
type2
", "
type1
", "
type1")
4 > status
poor
", "
improved
", "
excellent
", "
poor")
5 > patientdata
6 +status)
7 >patientdata
8patientid age diabetes status
9 1 1 25type1 poor
10 2 2 34type2 improved
11 3 3 28type1 excellent
12 4 4 52 type1 poor
對每一列做處理的時候 都要加上資料框名字+$這個確實很繁瑣,可以利用和with()函式簡化
例如
1第一行**可以用後三行**替換,但是這裡要注意乙個問題,就是資料框裡面列名不能跟外部記憶體物件同名。plot(patientdata$patientid,patientdata$age)23
attach(patientdata)
4plot(patientid,age)
5 detach(patientdata)
為解決這個問題,下面直接把操作都放到with()裡面。
1 with(patientdata,)4、因子操作
這個相當於把列裡面字元型元素,進行數字編碼,在分類演算法裡面也通常對字元型特徵進行數字編碼(通常新增特徵進行01編碼)
1 > patientid通常內建的是按字母順序建立,例如excellent、improved、poor編碼成0、1、22 > age
3 > diabetes
type1
", "
type2
", "
type1
", "
type1")
4 > status
poor
", "
improved
", "
excellent
", "
poor")
5 > diabetes
6 > status
7 > patientdata
8 +status)
9 >str(patientdata)10'
data.frame
': 4 obs. of 4variables:
11 $ patientid: num 1 2 3 4
12 $ age : num 25 34 28 52
13 $ diabetes : factor w/ 2 levels "
type1
","type2
": 1 2 1 1
14 $ status : ord.factor w/ 3 levels "
excellent
"improved
"<..:>
15 >summary(patientdata)
16patientid age diabetes status
17 min. :1.00 min. :25.00 type1:3 excellent:1
18 1st qu.:1.75 1st qu.:27.25 type2:1 improved :1
19 median :2.50 median :31.00 poor :2
20 mean :2.50 mean :34.75
21 3rd qu.:3.25 3rd qu.:38.50
22 max. :4.00 max. :52.00
5、列表操作
1 g列表訪問的時候mylist[[2]]和mylist[['age']]my first list
"2 h
3 j
4 k
one", "
two", "
three")
5 mylist
Opencv Python API 基本資料結構
本例使用python3.7 opencv環境配置方法 pip install numpy matplotlib 構造2 行 4列 全是0的uchar型別的二維陣列import numpy as np z np.zeros 2 4 np.uint8 type z zarray 0,0,0,0 0,0,...
1 基本資料型別
python 3支援int float bool complex 複數 a,b,c,d 20,5.5,true,3 4jprint type a type b type c type d class int class float class bool class complex a 4 5 加法 ...
redis基本資料結構 1
redis的作者為了方便自己的使用,在redis中定義了動態字串sds,鍊錶,字典dict,跳躍表skiplist,整數集合intset和壓縮列表ziplist這六種資料結構。下文,我簡要地介紹一下幾種資料結構的定義。sds的全稱叫 dynamic string,它的定義和注釋如下 struct s...