在r中rowsums_用R进行数据分析-05
20-矩陣與數組
一、矩陣的定義
矩陣(Matrix)是一個按照長方陣列排列的復數或實數集。向量是一維的,而矩陣是二維的,需要有行和列。
R中,矩陣是有維數的向量,但元素必須擁有相同的模式,此和向量一致。
例:x<-1:20
構造4行5列的矩陣:
m<-matrix(x,nrow=4,ncol=5) 或m<-matrix(1:20,4,5)
矩陣默認按列分配,即上述結果為:
1 5 9 13 17
2 6 10 14 18
3 7 11 15 19
4 8 12 16 20
matrix(1:20,4,byrow=T)此按行分布,即輸出結果如下(若為F則按列分布)
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
二、數組
x<-1:20
①dim(x) <- c(2,2,5) x此時變為三維數組
②構造數組:
dim1 <-c(“A1”,”A2”)
dim2<-c(“B1”,”B2”,”B3”)
dim3<-c(“C1”,”C2”,”C3”,”C4”)
Z <-array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
③Titanic為R中內置數據集的數組
三、矩陣的索引
構造矩陣m<-matrix(1:20,4,5,byrow=T),即為
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
m[1,2] 即為2
m[1,c(2,3,4)] 第1行,2,3,4,列的數據
m[c(2:4),c(2,3)] 輸出矩陣一個子集
m[2, ] 輸出第2行數據
m[ ,2] 輸出第2列數據
m[2] 默認輸出第2行第1列的數,即6
m[-1,2] 即去除第1行,再取第2列
m+1,m*2 表示每個元素都乘以2
m+m 兩個矩陣相加時,對應位置相加
若n <-matrix(1:20,5,4) ,則n+m會報錯
colSums(m) 計算每一列的和
rowSums(m) 計算每一列的和
若構造m<-matrix(1:9,3,3) t<-matrix(2:10,3,3)
m*t 對應位置相乘,為矩陣內積
m %*% t 矩陣外積
diag(m) 返回對角線位置的值,即1,5,9
t(m) 將矩陣m轉置,即行列互換
其他章節內容可以看我的個人微信公眾號:全哥的學習生涯
21-列表
列表即一些對象的有序集合,可以存儲若干向量、矩陣、數據框,甚至其他列表的組合。
① 在模式上與向量相似,都是一維數據集合
② 向量只能存儲一種數據類型,列表中的對象則可以是R中的任何數據結構,甚至列表本身。
R內置數據集state.center即列表數據
創建列表:list()
③ 列表的訪問
mlist<-list(a,b,c,d)
mlist[1] 即輸出向量a
一次訪問多個列表元素: mlist[c(1,4)]
也可用名稱訪問列表,即state.center[c(“x”,”y”)]
state.center $ x 訪問列表的另一種形式
mlist[[1]] 此時的輸出結果變為元素本身類型
class(mlist[1]); class(mlist[[1])) 可測試元素類型
若給列表賦值,比如如上兩個中括號才可以
Mlist[[5]] <-刪除列表元素
其他章節內容可以看我的個人微信公眾號:全哥的學習生涯
22-數據框
一、數據框的概念
數據框是一種表格式數據結構,數據集通常是由是由數據構成的一個矩形數組,行表觀測,列表變量。(記錄與字段/事例與屬性)
數據框實際上是一個列表,列表中的元素是向量,這些向量構成數據框的列,每一列必須具有相同長度,所以數據框是矩形結構,且數據框的列必須命名。數據框并不是矩陣,因為矩陣要求元素屬性必須相同。
即:
(1) 數據框形狀上很像矩陣
(2) 數據框是比較規則的列表
(3) 矩陣必須為同一數據類型
(4) 數據框每一列必須為同一類型,每一列則不必
R內置數據集iris,mtcars,rock即為數據框
創建數據框:state<-data.frame(state.name,state.abb,state.region,state.x77)
二、數據框的訪問
state[1] 輸出第1列數據
state[c(2,4)] 輸出2,4列數據
state[-c(2,4)] 去除2,4列數據后再輸出其他數據
利用行和列的名字也可以取出對應的行列
state[ ,”state.abb”]
plot(women$height,women$weight) 輸出散點圖
lm(weight ~height,data=women) 線性回歸
attach(mtcars) 直接加載數據框的內容,之后直接敲列名即可,不用加$
rownames(mtcars) colnames(mtcars) 取行名與列名
with(mtcars,{mgg}) 取mtcars中的mgg列
其他章節內容可以看我的個人微信公眾號:全哥的學習生涯
23-因子
① R中的變量可以分為:名義型變量(相互間獨立,無順序差別)、有序型變量(相互間有聯系,但又并非連續型數值)、連續型變量
② 在R中連續型變量和有序型變量統稱為因子,factor,這些分類變量的可能值稱為一個水平level,例如good,better,best都稱為一個level,由這些水平值構成的向量就稱為因子(整個集合才稱為因子),mtcars$cyl即為一個因子
③ 因子的最大作用是進行數據分類,計算頻率與頻數
④ 因子的應用:計算頻數、獨立性檢驗、相關性檢驗、方差分析、主成分分析、因子分析等等
⑤ table(mtcars$cyl) 可用于頻數統計,因子即cyl,而因子的level為4,6,8
⑥ f <- factor(c(“red”,”yellow”,”green”)) 即因子類型的數據
⑦ plot(factor(mtcars$cyl)) 輸出條形圖
注意:向量輸出散點圖,而因子輸出條形圖
⑧ state.division、state.region為因子類型的數據
總結
以上是生活随笔為你收集整理的在r中rowsums_用R进行数据分析-05的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程 Beta 阶段 团队贡献分数
- 下一篇: python的email模块_pytho