R语言一键完成差异检测从数据到展示

单因素差异分析的完整方案

方案优点

• 完整的差异分析思路及其R语言实现
• 提供两种可视化方案：柱状图箱线图；差异结果使用两种表示方法：字母进行排序表示，或者两组之间连线。
• 可视化图形标注方差齐性结果，正态性检验结果等
• 自动识别数据指标，自动保存分析结果，文件名称标记分析指标及其分析操作内容和方式。

主要函数解读

两种差异表示方案及其代码

```#值得注意的是LSD多重比较输出的就是字母形式的结果，如果我们选择其他多重比较方法，注意提取差异显著字母格式的结果
aa = out\$group#结果显示：标记字母法
aa\$group = row.names(aa)
wen1 = as.data.frame(tapply(dd,data_wt\$group,mean,na.rm=TRUE))
wen2 = as.data.frame(tapply(dd,data_wt\$group,sd,na.rm=TRUE))
went = cbind(wen1,wen2)
wentao = merge(aa,went, by="row.names",all=F)
colnames(wentao) = c(colnames(wentao[1:4]),"mean" ,"SD")
aa = mutate(wentao, ymin = mean - SD, ymax =  mean + SD)
a = max(aa\$mean)*1.2
# ss <- round(wtx3\$`Pr(>F)`[1],3)
p = ggplot(aa , aes(x = group, y = mean,colour= group)) +
geom_bar(aes(colour= group,fill = group),stat = "identity", width = 0.4,position = "dodge") +
geom_text(aes(label = groups,y=ymax, x = group,vjust = -0.3,size = 6))+
geom_errorbar(aes(ymin=ymin,
ymax=ymax),
colour="black",width=0.1,size = 1)+
scale_y_continuous(expand = c(0,0),limits = c(0,a))+
labs(x=paste(name_i,"of all group", sep = "_"),
y="group",
title = paste("Normality test",p1,"Homogeneity of variance",p2,"kruskal.test",sumkrusk[3],sep = ":"))
p```

字母标记箱线图代码

```out <- LSD.test(model,"group", p.adj="none")
aa = out\$group
aa\$group = row.names(aa)
a = max(aa\$dd)*1.2

data_box = data_wt[c(1,2,i)]
colnames(data_box) = c("ID" , "group","dd" )
stat = out\$groups
data_box\$stat=stat[as.character(data_box\$group),]\$groups
max=max(data_box[,c("dd")])
min=min(data_box[,c("dd")])
x = data_box[,c("group","dd")]
y = x %>% group_by(group) %>% summarise_(Max=paste('max(',"dd",')',sep=""))
y=as.data.frame(y)
rownames(y)=y\$group
data_box\$y=y[as.character(data_box\$group),]\$Max + (max-min)*0.05
p = ggplot(data_box, aes(x=group, y=data_box[["dd"]], color=group)) +
geom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill="transparent") +
labs(x=paste(name_i," group", sep = "_"),
y="group",
title = paste("Normality test",p1,"Homogeneity of variance",p2,sep = ":"))+
geom_text(data=data_box, aes(x=group, y=y, color=group, label= stat)) +
geom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)+theme(legend.position="none")
p
if (length(unique(data_box\$group))>3){    p=p+theme(axis.text.x=element_text(angle=45,vjust=1, hjust=1))}
FileName <- paste(name_i,"_aov_LSD_box", ".pdf", sep = "")
ggsave(FileName, p, width = 8, height = 8)```

ggpubr + 箱线图 + 连线差异标注

```wtq = levels(data_wt\$group)
lis = combn(levels(data_wt\$group), 2)
x <-lis
my_comparisons <- tapply(x,rep(1:ncol(x),each=nrow(x)),function(i)i)```
```p = ggplot(data_box, aes(x=group, y=data_box[["dd"]], color=group)) +
geom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill="transparent") +
labs(x=paste(name_i,"of all group", sep = "_"),
y="group",
title = paste("Normality test",p1,"Homogeneity of variance",p2,sep = ":"))+
# geom_text(data=data_box, aes(x=group, y=y, color=group, label= stat)) +
geom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)+theme(legend.position="none")+
stat_compare_means()+
stat_compare_means(comparisons=my_comparisons,label = "p.signif",hide.ns = F) # Add pairwise

p```

实战

0 条评论

• PCA主成分分析实战和可视化 | 附R代码和测试数据

一文看懂PCA主成分分析中介绍了PCA分析的原理和分析的意义(基本简介如下，更多见博客)，今天就用数据来实际操练一下。

• 单细胞分析Seurat使用相关的10个问题答疑精选！

作为一个刚刚开始进行单细胞转录组分析的菜鸟，R语言底子没有，有时候除了会copy外，如果你让我写个for循环，我只能cross my fingers。。。。

• SAP CRM WebUI上Opportunity reason字段的后台配置

有客户抱怨SAP CRM Web UI上reason这个类型为drop down list的字段在SAP CRM Fiori的My Opportunity应用里...

2.跟我预想中不一样，我这边特地用swift和oc分别敲了一遍，oc的时候array2中只有obj2并且name为test，而swift中，array2依然是o...

• 基于helium自动化测试的方法进行代码仓库梳理和备份

helium是一款基于 Selenium 实现的网页自动化工具，他的 API 比 Selenium 更简介，当然也因为他是基于 Selenium 之上构建的，因...

• BZOJ4819: [Sdoi2017]新生舞会(01分数规划)

Description 学校组织了一次新生舞会，Cathy作为经验丰富的老学姐，负责为同学们安排舞伴。有n个男生和n个女生参加舞会 买一个男生和一个女生一起跳舞...

• YOLO V3网络结构解析

论文翻译：https://zhuanlan.zhihu.com/p/34945787

• MOS文章实验：ORA-01722 from Queries with Dependent Predicates

今天读了一篇MOS文章，《ORA-01722, ORA-01839, ORA-01841, ORA-01847 or ORA-01858 from Queri...