dimoftest <- dim(test) # 获取数据维数
factoftest <- c() #定义factor数组
k <- 2 #定义你的那个变量的列k,你自己设定
#循环找出k列大于k-1列10%的序号,并将factor数组设为1,否则为0
for(i in 1:dimoftest){
if((test[i,k]- test[i,k-1])/test[i,k-1] >0.1) factoftest[i] = 1
else factoftest[i] = 2
}
factoftest #显示数组
#创建一个factor因子,标记为1,2,文本也设为1,2
newfactor <- factor(factoftest,levels = c(1,2), labels = c("1","2"))
#合并到数据中
test <- data.frame(test, newfactor)
#查看
test
不明白的话继续问
最终出图如下
这里自动做统计检验的函数是 stat_compare_means()
读入数据
作图
这个函数来自于ggpubr这个包,只需要指定根据那一列来分组就可以了
默认的是Wilcoxon Rank Sum and Signed Rank Tests,如果要用t检验指定method参数
如果想把P值改成星号,直接加label=“p.signif”参数
这里如果不显著会在图上显示ns,如果不想要ns,可以加 hide.ns = TRUE 参数
星号的位置可以手动指定,用 label.y = c(26,31) 参数
使用到的是 ggsignif 这个包
小明的数据分析笔记本