您好,登錄后才能下訂單哦!
#矩陣
是將R行和列組成的數組 數據元素要求是同一種類型
函數:
matrix
data 矩陣的元素向量的形式
nrow 行數
ncol 列數
byrow 是否按照行排列 默認是列排序 true 按行 false 按列
dimnames 可選 對行列進行命名
m<-matrix(1:6,nrow=2,ncol=3,byrow =T,dimnames =list(c('r1','r2'),c('c1','c2','c3')))
加入byrow 進行排列
m<-matrix(1:6,nrow=2,ncol=3,dimnames =list(c('r1','r2'),c('c1','c2','c3')))
數值訪問矩陣元素
m[1,1] 1行1列
m[1,] 第一行
m[,1]第一列
邏輯訪問矩陣元素
m[c(T,F),] 第一行
行的名字進行訪問
m['r1',] 第一行
#編輯元素
m[1,]<-c(100,99,98)
批量賦值整行
m[1,]<-100 第一行r1的長度為3,100是1個長度,100會被使用三次
矩陣轉置
t(m) 列變行 行變列
#數組 數據類型也是統一的
?array
#data 向量
#dim 維度
#dimnames 維度名稱的列表 可選
array(1:10) #一維的數組就是向量
array(1:10,dim = c(2,5))#矩陣
dim1<-c('A1','A2')
dim2<-c('B1','B2','B3')
dim3<-c('C1','C2')
arry3<-array(1:12,c(2,3,2),dimnames = list(dim1,dim2,dim3))
array(1:12,c(2,3,2))#三維數組 創建兩個矩形矩陣 每2行3列
arry3[,,'C1']
arry3[,,1]
arry3[,,c(T,F)]
#數據框 可以包含各種數據類型 每列叫做變量 每行叫做觀測樣本
data.frame()
student<-data.frame(ID=c(1001,1002,1003),
NAME=c('lili','bobo','sam'),
GENDER=c('F','M','M')) #會把類型轉換為因子
student<-data.frame(ID=c(1001,1002,1003),
NAME=c('lili','bobo','sam'),
GENDER=c('F','M','M'),stringsAsFactors = F) #加上參數string關閉轉換
student[1,1]
student[1,]
student[,1]
student['ID']
student[,'ID']
student$ID
student[c('ID','NAME')]
student[1,1]<-1009
student[c('ID','NAME')]
#列表 最復雜 可以包含各種元素
list()
list1<-list(a=1,b='char',c=m,d=student)
list1[[1]]
list1[['a']]
list1[[4]] #訪問需要加雙重[[]]
list1[4]
class(list1[4])
總結
1、 操作題:
將 1,2,3,…,12 構成兩個 3*4 的矩陣,矩陣 A 是按列輸入,矩陣 B 是按行輸入。
2、 操作題:
將矩陣 B 的第一列的元素都改成 100.
3、 操作題:
ID name weight
1 張三 60
2 李四 70
3 王五 80
創建數據框將它命名成 wtdata,要求第一、三列的數據類型是數值型的,第二列數據類
型是字符型的。
4、 操作題:
返回數據框 wtdata 第一、三行的信息
5、 操作題:
創建一個列表,將它命名成 wtlist,列表的長度是 3,列表的第 1 個元素是矩陣 A,列
表的第 2 個元素是矩陣 B,列表的第 3 個元素是 wtdata
6、 操作題:
返回列表 wtlist 第 1 個元素的信息。
1.A<-matrix(1:12,nrow = 3,ncol = 4,)
A
B<-matrix(1:12,nrow = 3,ncol = 4,byrow = T)
B
B[1,]<-c(1,2,3,4)
B
2.B[,1]<-100
B
B[,1]<-1,5,9
3.peson<-data.frame(ID=c(1,2,3),name=c('張三','李四','王五'),weight=c(60,70,80),stringsAsFactors = F)
4.peson[c(1,3)]
peson[c(T,F,T)]
peson[2,3]
5.wtlist<-list(a=A,b=B,c=peson)
6.wtlist[1]
wtlist[[1]]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。