字体设置:tools——global options——appearance——editor font size——apply
run---Ctrl+enter
输入n回车
脚本打开是乱码的解决方案
%in%有先后顺序区别
match函数#在外面在后面,后面的向量的下标【y[match(x,y)]y按照x的顺序重新排序】
-
与&、或|、非! 【==, !=】
matrix 矩阵,二维 所有列的数据类型相同,两个维度(行数和列数)
data.frame 数据框 多个长度相同、数据类型可以不同的向量按列组合
List 列表:长度可以不同、数据类型可以不同,没有行和列的概念,可以有多级元素
函数
sort(x)#是对向量x进行排序,返回值排序后的数值向量
order(X) #返回使得x从小到大排列的元素的下标向量。x[order(x)]等效于sort(x)
duplicated()#判断重复,非重复F,重复T
str()
table(iris$Species)#统计几种分别有几个
class( )#判断数据类型
as.numeric() #logical,charactor
rep("gene",times=3)#重复
seq(from=3,to=21,by=3)#等差数列
rnorm(n=3)#随机数
paste0(rep("gene",times=3),1:3)#连接
paste(x,y,sep=":")
mean(x) #均值
median(x) #中位数
sum(x) #总和
length(x)#向量x的个数
intersect(x,y)#交集
union(x,y)#并集
setdiff(x,y)#差集,有先后顺序差别
x[x<12] ;x[c(1,5)] #取子集,与x等长的逻辑值向量或由x的下标组成的向量
x[-(2:4)] #把下标为2,3,4的去除
plot(k1)
boxplot(k1~k2)#作图
cbind(x1,x2,x3)#?
letters[1:7]
sample(1:10,7)
数据框
options(stringsAsFactors = FALSE)#?
df <- data.frame(gene = paste0("gene",1:3),
sam = paste0("sample",1:3),
exp = c(32,34,45))
df2 <- read.csv("gene.csv")
dim(df)
nrow(df) /ncol(df)#几行几列
rownames(df)/colnames(df)# 行名/列名
df[2,2]#坐标,左边行右边列
df [ c(1,3),1:2 ]
df[,“exp”]
df[,c(“gene”,“exp”)]
df[,-ncol(df)]
df ¥ exp
range(df¥exp) #数值的范围
length(df¥exp) #长度
df¥abc <- c( 23,15,37 )#取子集 ¥或[] +赋值操作,改一列或加一列
rownames(df)[2] <-"x"#改一个行名
test2 = test[test$Species %in% c("versicolor","setosa"),]
head(iris);head(iris,3);iris[1:3,1:3]
str(iris)
na.omit(df)#去除含有缺失值的行,仅按照某一列来去除缺失值、缺失值替换:tidyr包
cbind#按列连接,行数相同
rbind#按行连接,列数相同
merge(test1,test3,by.x = "name",by.y = "NAME")
矩阵
m <- matrix(1:9, nrow = 3)
colnames(m) <- c("a","b","c")
m[2:3,1:2]
t(m)#行列互换
pheatmap::pheatmap(m)#矩阵画热图
pheatmap::pheatmap(m,cluster_cols = F,cluster_rows = F)
列表
l <- list ( m = matrix(1:9, nrow = 3),
df = data.frame(gene = paste0("gene",1:3), sam = paste0("sample",1:3), exp = c(32,34,45)),
x = c(1,3,5) )
l[[2]];l$df
-
>rm(list = ls())#删除全部变量
names(x)=letters[1:10]
identical()
R包
g=funtion(x,y=0.5){seq(x,3*x,y)}
g(x=3,y=6)
plot(test[,1],col = test[,5])
mdm <- function(x){
- c(mean(x),median(x))
- }#{}里面一个向量
https://cran.r-project.org/web/views/
https://bioconductor.org/
括号里写作者用户名加包名
devtools::install_github("jmzeng1314/AnnoProbe")
网络问题经常导致github访问不了,可选择本地安装
devtools::install_local("AnnoProbe-master.zip",upgrade= F)
install.packages("stringr")
BiocManager::install("ggplot2")
devtools::install_github("jmzeng1314/AnnoProbe")
library(stringr)#加载
设置镜像
已安装、不加载,直接使用,包名 ::函数名
BiocManager :: install()
dplyr :: filter()
文件读取
read.csv()#读取csv格式
read.table()读取txt格式
write.csv(test,file = “excample.csv”)#导出,导出变量名,给导出文件命名
write.table()#txt格式
write.table(test,file='example.txt')
save(test,file='example.Rdata')
load('example.Rdata')
脚本 (.R) 、
数据(. . Rdata) ) ,
表格( .txt 或 .csv )
ex1 <- read.table("ex1.txt",header = T)
ex2 <- read.csv("ex2_B cell receptor signaling pathway.csv",row.names = 1)
gse <- read.table("GSE32575_series_matrix.txt",
comment.char = "!",
header = T,
row.names = 1)
head(gse)
load("class.Rdata")#加载class.Rdata,查看数据类型
str(y)