复制表格数据并导入剪贴板的数据
data <- read.table("clipboard", header = T, sep = '\t')
将组别转换为因子
data$group<-factor(data$group,labels=c('HC','MDD'))
data$group<-as.factor(data$group)
筛选数据
subset(data,group==2)
subset(mtcars,am==1&vs==1)
设置字体
windowsFonts(HEL=windowsFont("Helvetica CE 55 Roman"),RMN=windowsFont("Times New Roman"), ARL=windowsFont("Arial"),SONG=windowsFont("simsunb"),KAI=windowsFont("STXINGKAI"))+ theme(text=element_text(family='simsunb',size=16)
删除缺失值
data<-subset(data,value1!="NA")
统计数据(FADH)均值、标准差、标准误
## 统计数据均值、标准差、标准误
mean <- aggregate(data$FADH, by=list(data$group), FUN=mean)
sd <- aggregate(data$FADH, by=list(data$group), FUN=sd)
len <- aggregate(data$FADH, by=list(data$group), FUN=length)
df_res <- data.frame(mean, sd=sd$x, len=len$x)
colnames(df_res) = c("group", "Mean", "Sd", "Count")
str(df_res)
df_res$group<-as.factor(df_res$group)
df_res$Se <- df_res$Sd/sqrt(df_res$Count) ### 计算标准误
画柱形图
biomarker group 0.2565 1 0.2641 1 0.3659 2 0.4159 2
数据结构
#设置字体
windowsFonts(HEL=windowsFont("Helvetica CE 55 Roman"),
RMN=windowsFont("Times New Roman"),
ARL=windowsFont("Arial"),
SONG=windowsFont("simsunb"),
KAI=windowsFont("STXINGKAI"))
#导入工具包
library(ggplot2)
library(ggsignif)
#读取剪切板数据
data <- read.table("clipboard", header = T, sep = '\t')
data<-subset(data,biomarker !="NA")#删除缺失值
#设置变量名
var_name<-"biomarker "
var<-data$biomarker
## 统计数据均值、标准差、标准误
mean <- aggregate(var, by=list(data$group), FUN=mean)
sd <- aggregate(var, by=list(data$group), FUN=sd)
len <- aggregate(var, by=list(data$group), FUN=length)
df_res <- data.frame(mean, sd=sd$x, len=len$x)
colnames(df_res) = c("group", "Mean", "Sd", "Count")
str(df_res)
df_res$group<-as.factor(df_res$group)
df_res$Se <- df_res$Sd/sqrt(df_res$Count) ### 计算标准误
#画图
df_res$group=c('1组 ','2组 ')
ggplot(df_res, aes(x=group, y=Mean,color="", fill=group))+
geom_bar(stat="identity", position=position_dodge(), width=0.6) +
scale_color_manual(values= "black") +
scale_fill_manual(values= c("#ff8629 ","#009cb3 "))+
geom_errorbar(aes(ymin=Mean, ymax=Mean +Se),position=position_dodge(.6), width=.2)+
theme_classic()+
labs(x=var_name,y = "浓度",fill='组别')+
# 去点网格、去掉背景、添加边框
theme(text=element_text(family='RMN',size=16))+
coord_cartesian(ylim=c(0,100 ))+ # 设置y轴坐标范围
scale_y_continuous(expand = c(0,0))+ #去掉与X轴空隙
geom_signif(y_position=c(20), xmin=c(1), xmax=c(2), # 设置显著性说明,y_position是误差线所在y轴位置,xmin和xmax是误差线在x轴位置,可传入多个值
annotation=c("***"), tip_length=0.1, size=0.6, textsize = 7, # 显著性标识;显著性括号下延长度;大小设置;字体大小
vjust = 0.2) # 调整显著性标识和显著性括号之间的距离
设置图形与坐标轴之间空隙
scale_y_continuous(expand = c(0,0))//与X轴空隙为0
scale_x_continuous(expand = c(0,0))//与Y轴空隙为0
命名组别
df_res$group=c('健康对照组','MDD组')
画相关图
data=R_relation
windowsFonts(HEL=windowsFont("Helvetica CE 55 Roman"),
RMN=windowsFont("Times New Roman"),
ARL=windowsFont("Arial"),
SONG=windowsFont("simsunb"),
KAI=windowsFont("STXINGKAI"))
library(ggplot2)#加载ggplot2包
ggplot(data=data, aes(x=X轴的变量, y=Y轴的变量))+geom_point(color="red")
#data=后跟需要画图的数据的文件名
#X=后跟作为X轴的数据的那一列的列名
#Y=后跟作为Y轴的数据的那一列的列名
#geom_point函数是个性化设置散点图点的形状,颜色,大小等,此处只设置了颜色,有需要可自行加入
ggplot(data=data, aes(x=X轴的变量, Y轴的变量))+geom_point(color="red")+stat_smooth(method="lm",se=FALSE)
#stat_smooth是画拟合曲线的函数
#se=FALSE意思为不画出置信区间
library(ggpubr)
x='X轴标签'
y='Y轴标签'
#画图
ggplot(data=data, aes(x=`X轴的变量`,`Y轴的变量`))+geom_point(color="black")+
stat_smooth(method="lm",se=T,color='black')+stat_cor(data=data, method = "pearson")+
#stat_cor(data=dat, method = "pearson")意为用pearson相关进行相关性分析,可以自行更改方法
theme(text=element_text(family='RMN',size=16),panel.grid=element_blank(),
panel.background=element_rect
(fill='transparent', color='black'))+
labs(x =x , y = y)
画拟合图+去掉背景
ggplot(data, aes(x轴变量, y轴变量, color=分组变量,fill=分组变量))+ geom_smooth(size=2,na.rm=T,se=T)+
# 去点网格、去掉背景、添加边框
theme(text=element_text(family='simsunb',size=16), panel.grid=element_blank(),
panel.background=element_rect(fill='transparent',color='black'))+
guides(color=guide_legend(title="Group")) + stat_summary(geom="errorbar", lwd=0.5,na.rm=T)+
labs(x ="X轴标签" , y = "Y轴标签")+
scale_fill_manual(values = c("#009cb3", "#ff8629"))+
scale_color_manual(values= c("#009cb3","#ff8629"))
设置y轴坐标范围
+
coord_cartesian(ylim=c(4,80)) # 设置y轴坐标范围
设置行列标签
+
labs(x='组别',y = "浓度",fill='组别')
经典主题+去掉网格、背景
+
theme(legend.position="top")+
stat_summary(fun.data = data_summary, colour = "black", size = 0.7)+
# 去点网格、去掉背景、添加边框
theme(text=element_text(family='RMN',size=16),panel.grid=element_blank(),
panel.background=element_rect(fill='transparent',color='black'))
+
theme_classic()