2020-11-20

一.知识回顾

1.回顾前两天高频实用命令
paste0(“gene”,1:3) #paste0(rep(“gene”,3),1:3)的简化写法。注:引号英文格式
k1 = rnorm(12)#取随机数
(x <- c(1,3,5)); x <- c(1,3,5)#x赋值+输出一起执行两种方法。
x %in% y #x的元素是否在y中,不补齐。
seq(1,11,2)#从1到11每隔一个数取一个数,1,3,5,7,9,11
x[4] <- 40#取子集11并赋值40
x[x>10] <- 10#将大于10的赋值为10
2.链接知识学习
https://mp.weixin.qq.com/s/2eJPrT7lz562vX0ij4gfVg
(1)如何将两个向量合到一起,组成一个长向量?
x=c(1,3,5)
y=c(2,3,4)
test=c(x,y)
test
[1] 1 3 5 2 3 4
(2)如何在向量首/尾增加一个元素?
x=c(3,x)
x=c(x,4)
(3)如何在向量第n位增加一个元素?
n=3
x=c(1,3,5,8,6)
x
[1] 1 3 5 8 6
y=c(x[1:n-1],7,x[n:length(x)])
y
[1] 1 3 7 5 8 6
3.数据框创建和读取
df <- data.frame(gene = c("gene1","gene2","gene3"),
sam = c("sample1","sample2","sample3"),
exp = c(32,34,45))
df2 <- read.csv("gene.csv")
数据框浏览,几行几列 dim()
rownnames()行名;colnnames()列名
4.数据框操作
4.1数据框取子集
df[2,2]
df[2,]
df[,2]
df[c(1,3),1:2]
df[,"gene"]
df[,c('gene','exp')]
mean(dfexp) 4.2数据框编辑 改一个格 df[3,3]<- 5 改一整列 dfexp<-c(12,23,50)
df$abc <-c(23,15,37)
df
改行名和列名
rownames(df) <- c("r1","r2","r3")

只修改某一行/列的名

rownames(df)[2]="x"
如何按照制定顺序重排列名
https://mp.weixin.qq.com/s/rA92iZS8HUiuwlyrPirHdA
4.3去除含有缺失值的行

生成一个有NA的数据框

df<-data.frame(X1 = LETTERS[1:5],X2 = 1:5)
df[2,2] <- NA
df[4,1] <- NA
df
na.omit(df)
4.4两个表格的链接
test1 <- data.frame(name = c('jimmy','nicker','doodle'),
blood_type = c("A","B","O"))
test1
test2 <- data.frame(name = c('doodle','jimmy','nicker','tony'),
group = c("group1","group1","group2","group2"),
vision = c(4.2,4.3,4.9,4.5))
test2
test3 <- data.frame(NAME = c('doodle','jimmy','lucy','nicker'),
weight = c(140,145,110,138))
tmp =merge(test1,test2,by="name")
merge(test1,test3,by.x = "name",by.y = "NAME")
4.5转置和转换
m <- matrix(1:9, nrow = 3)
colnames(m) <- c("a","b","c") #列名
m
转置
t(m)
转换为数据框
as.data.frame(m)
4.6矩阵画热图

pheatmap::pheatmap(m)
5.列表构建取子集
列表
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
l[[2]]
l$df

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. R与Rstudio R: 编程语言,统计计算和绘图的环境。 R studio: R语言的集成开发环境 新建项...
    Hannahhao阅读 360评论 0 0
  • 现在各个宽带运营商都有 IPTV 业务,不用安装有线电视就可以高清无卡顿的看电视。所以我们只要有直播源,就可以复制...
    DBY_8aaf阅读 7,441评论 0 3
  • rpm安装包链接:链接:https://pan.baidu.com/s/10DpgJL5MQQW9kV2PK0qH...
    yeying12321阅读 584评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,575评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,616评论 0 11