#apply
m<-matrix(1:18,nrow=3)
m
apply(m,1,max)
apply(m,2,min)
#cbind()加列 rbind()加行
m<-matrix(1:18,nrow=3)
m
col.v<-matrix(19:24,nrow=3)
col.v
cbind(m,col.v)
m<-matrix(1:18,nrow=3)
m
col.v<-matrix(19:24,nrow=1)
col.v
rbind(m,col.v)
#数组
test1<-matrix(sample(90:100,6,replace=F),nrow=2)
test1
test2<-matrix(sample(90:100,6,replace=F),nrow=2)
test2
test<-array(data=c(test1,test2),dim=c(2,3,2))
test
attributes(test)#纬度
str(test)
test[,1]
test[1,1]
test[,1,1]
test[1,1,1]
#列表 is.past.exam=T
stu.lst<-list(name=“郭子”,id=18001050209,class=“数据18002”)
stu.lst
stu.lst2<-list(‘郭子’,18001050209,T)
stu.lst2
new.l<-vector(mode=“list”)#空列表
new.l
stu.lst<-list(mode=“list”)
new.l[[“name”]]<-“郭耸”
new.l
#列表索引
stu.lst
stu.lstKaTeX parse error: Expected 'EOF', got '#' at position 172: …tu.lst[c(1,3)] #̲列表添加元素 stu.lstage<-18
stu.lst
length(stu.lst)
stu.lst[[5]]<-98
stu.lst[5]<-98
stu.lst[6:8]<-1:3
stu.lst
#删除元素
stu.lst[[8]]<-NULL
stu.lst
stu.lst[6:7]<-NULL
stu.lst
stu.lst$age<-NULL
stu.lst
stu.lst2
c(stu.lst,stu.lst2)
names(stu.lst)
un.stu
names(un.stu)<-NULL
un.stu
#转向量
stu.lst
unlist(stu.lst)
un.stu<-unlist(stu.lst)
un.stu
str(un.stu)
typeof(un.stu)
data<-list(1:10,101:110)
data
lapply(data,max)#l列表
sapply(data,max)#元组
lst1<-list(1:3)
lst2<-list(11:15)
lst<-list(lst,lst2)
lst
length(lst)
#数据框
stu.name<-c(“郭子”,“康儿”,“老王”)
stu.id<-c(18001050209,18001050212,18001050211)
stu.info<-data.frame(stu.name,stu.id)
stu.info
str(stu.info)
stu.infoKaTeX parse error: Expected 'EOF', got '#' at position 56: …]) stu.info[1] #̲添加新列 stu.infoage<-c(18,20,100)
stu.info
stu.info[which(stu.info
a
g
e
>
=
50
)
,
]
s
t
u
.
i
n
f
o
[
s
t
u
.
i
n
f
o
age>=50),] stu.info[stu.info
age>=50),]stu.info[stu.infoage>=50,]
#矩阵转数据框
mat<-matrix(1:12,nrow=3)
mat.df<-as.data.frame(mat)
mat.df
#数据框的高级操作
stu.id.math<-c(18001050209,18001050210)
stu.math.score<-c(99,99)
stu.math.df<-data.frame(stu.id.math,stu.math.score)
stu.math.df
merge(stu.info,stu.math.df,by.x=“stu.id”,by.y=“stu.id.math”)
stu.info
new.stu<-data.frame(list(stu.name=“haha”,stu.id=18001050200,age=19))
stu.info<-rbind(stu.info,new.stu)
stu.info
python.score<-c(99,100,100,60)
stu.info<-cbind(stu.info,python.score)
stu.info
r.score<-c(88,89,100,99)
stu.info <-cbind (stu.info,r.score);stu.info
lapply(stu.info,max)
lapply(stu.info[3 :ncol(stu.info)], max)[1]
sapply(stu.info[3: ncol (stu.info)], max)[1]
#因子
sex <-c(1,2);sex
#创建因子
sex.f <- factor (sex);sex.f
str (sex.f)
stu.sex <- sample(1:2,10,replace = T); stu.sex
stu.sex.f<-factor(stu.sex); stu.sex.f
stu.sex.f<- factor(stu.sex, levels = c(1,2));stu.sex.f
stu.sex.f<- factor(stu.sex,levels = c(1,2),labels = c(“E”,“M”));stu.sex.f
stu.sex.v<- as.vector(stu.sex.f);stu.sex.v
#有序因子
stu.sex.ord <- ordered(stu.sex,levels = c(1,2));stu.sex.ord
stu.sex.ord <- ordered(stu.sex,levels = c(2,1));stu.sex.ord
#cut函数
stu.r.score <- c(60,sample(60:100,8,replace = T),100);stu.r.score
stu.r.score.level <- cut(stu.r.score,breaks = 4);stu.r.score.level
#tapply()函数
tapply(stu.r.score,stu.sex, mean)