矩阵:
矩阵创建:
a<-matrix(data=1:20,nrow = 5,ncol = 4,byrow = TRUE)
b<-matrix(data=1:20,c(5,4),byrow = TRUE)
#byrow=TRUE表明矩阵按行填充
a<-matrix(data=1:6,nrow = 2,ncol = 3,dimnames = list(c('r1','r2'),c('c1','c2','c3')))
a
矩阵引用:
1:
a[i,]:返回矩阵中的第i行
a[,j]:返回矩阵中的第j列
a[i,j]:返回第i行第j列元素
a[i,-j]:返回第i行但排除第j列元素
2:
a[c(1,3),c(2:4)]:返回第1,3行,第2,3,4列元素
a[c(T,T),]:返回第一行和第二行
3:按照索引名称
a['r1',]
矩阵修改:
a[1,]<-c(199,98,99)#第一行修改为199,98,99
a[1,]<-100#第一行全部变成100
t(a)
数组:
?array
创建:
b<-array(1:12,c(2,3,2))
dim1<-c('A1','A2')
dim2<-c('B1','B2','B3')
dim3<-c('C1','C2')
b<-array(1:12,c(2,3,2),dimnames = list(dim1,dim2,dim3))
数组的引用:
b[,,'C1']
b[,,1]
b[,,c(T,F)]
三种一样
修改
b[,,1]<-matrix(7:12,c(2,3))
数据框:
创建:
student<-data.frame(id=c(1001,1002,1003), name=c('bob','lee','tom'),
gender=c('F','M','M'),
stringsAsFactors = F)
student
访问:
student[1,] #返回的是数据框
student[,1] #返回的结果是一个向量
student[,'id'] ##返回的结果是一个向量
student['id'] #返回的结果是数据框
修改:
student[1,1]<-1004
student
列表:
创建:
mylist<-list(obj1,obj2,...) 其中object可以是目前出现的任意类型
list1<-list(x=1,y='char',c=a,d=student)
访问:
list1[[4]]
list1[['d']]