R语言的综合应用-2
题外话:长脚本管理方式
1.分成多个脚本,每个脚本最后保存Rdata,下一个脚本开头清空再加载
代码语言:javascript复制#第一个脚本
...
save(pd,exp,gpl,file)="ssss.Rdata"
#第二个脚本
rm(list=ls())
load(file="ssss.Rdata")
...
2.用if语句:if(F){...},则{}里的代码被跳过,if(T){...},则{}里的代码被运行
四、表达矩阵画箱线图
宽数据变成长数据(一堆代码)
代码语言:javascript复制library(ggplot2)
p = ggplot(pdat,aes(gene,count))
geom_boxplot(aes(fill = group))
theme_bw()
p
分面
代码语言:javascript复制p facet_wrap(~gene,scales = "free")
五、隐式循环
(一)矩阵/数据框的隐式循环——apply
apply(X,MAEGIN,FUN,...)
其中X是数据框或者矩阵名;
MARGIN为1表示行,为2表示列
FUN是函数 (对X的每一行/列进行FUN这个函数)
代码语言:javascript复制apply(test, 2, mean)
apply(test, 1, sum)
(二)列表的隐式循环——lapply sapply
列表没有行,列的概念
六、两个数据框的连接
代码语言:javascript复制inner_join(test1,test2,by="name")
right_join(test1,test2,by="name")
full_join(test1,test2,by="name")
semi_join(test1,test2,by="name")
anti_join(test1,test2,by="name")