step_1 创建向量
函数c() 、 sep() 、 rep() 、 paste() 、 paste0()
step_2 索引
可以用位置、名字、逻辑值进行索引
###位置
ve_1[2:3]
###名字
ve_1['mon']
###逻辑值
num<6
num[num<6]
##或给逻辑值赋值
a <- num<6
num[a]
step_3 矩阵
矩阵创建方法
1.先创建一个向量
a<-seq(1,20,1)
加上维度dim(a)<-c(5,4)
2.直接用矩阵函数d<-matrix(b,nrow=5,ncol=4)
索引
####行和列
e[,2]
####名字
e[,'mon']
####逻辑值
tmp<-c(T,F,T,T,F,F)
e[c(T,F,T,T,F,F),]
获取e的奇数行内容
nrow(e)
a <- 1:nrow(e)
tmp <- a%%2==1
e[tmp,]
step_4数据框
创建矩阵
April<-data.frame(date,plan,color)
索引
####位置(行和列)
April[1,2]
####名字
April[2,c('plan','date')]
####逻辑值
tmp<-c(T,F,T)
April[tmp,]
April[c(T,F,T,T,F),]
####新的索引符号$
April$date
列表
创建列表
g<-'Hello world'
h<-1:5
j<-matrix(1:10,nrow=5,ncol=2)
f<-c('mon','tue','wed')
r_list<-list(flag=g,h,j,f)
索引
列表没法定义明确的行和列,不能用行和列进行索引。列表中的每一个数据结构即为一个元素,所以可以将其看做一个特别的向量,用位置进行索引
特殊的符号:[[]]
r_list[[1]]
也可用$符号
r_list$flag
可对其进行再次索引
r_list[[2]][1]
step_5 读写文件
a<-read.csv('GSE17215_series_matrix.txt.gz')###如果读入CSV文件,就用read.csv()函数;读入TXT文件,则用read.table()函数。
write.table(x = f,file = '0418.txt')###前面是指定编码格式,后面是用什么格式打开。所以前后一致最好。
step_6循环
for循环
格式:for(i in 1:10){ }###前面指的是循环数即i的值从几到几,后面指的是具体执行操作
apply循环
格式:apply(x,margin,function)###x为操作对象;margin=‘1’,行,margin=‘2’,列;function为特定函数(可自定义函数)
如:在apply循环中自定义一个函数
apply(test, 1, y)###变量即为test的行,所以x即为test的行
y <- function(x){
sd <- sd(as.numeric(x[1:3]))
mean <- mean(as.numeric(x[1:3]))
paste0 <- paste0(x[4],'day')
result<-c(sd,mean,paste0)
return(result)
}
a <- apply(test, 1, y)
网友评论