听起来像一个微不足道的,但一些研究没有提出一个优雅的解决方案: 我有一个数据框,结构有分类变量(GROUP)和连续读出变量(血压)。 如何制作一个简单的箱形图,显示每组的平均值及其标准偏差? 有多个组:A,B,C,D如何在数据框中执行ANOVA事后分析。它如何与Mann-Whitney-U-Test一起使用?我可以在条形图中标记显着性水平吗? 如何将此操作简化为多个连续变量(dia_bloodpressure,sys_bloodpressure,mean_bloodpressure)和sink()输出在不同的文件中(按变量名称)?
答案 0 :(得分:0)
经过一番研究,我想出了agricolae包。这个提供了多组比较。对于分组条形图+/- SD或SEM,可以将生成的对象流水线化为适当的绘图功能。不幸的是,无法在图中的组之间使用重要标记。
答案 1 :(得分:0)
在R中进行了一些编程之后,我偶然发现了另一个适合医学研究的好方案:心理学。
考虑到上述问题,describe()
和describeBy()
获取数据框的统计概览,并按分组变量对其进行排序。
函数error.bars.by()
是平均值+/- SD的高级绘图函数。
该软件包提供了许多关于协变量分析的功能,这些功能在心理学研究中很有用,但也可能有助于医学和营销研究。
答案 2 :(得分:0)
可能的代码段:
library(psych)
x<-c(1,2,3,4,5,6,7,8,9,NA)
y<-c(2,3,NA,3,4,NA,2,3,NA,2)
group<-rep((factor(LETTERS[1:2])),5)
df<-data.frame(x,y,group)
df
by(df$x,df$group,summary)
by(df$x,df$group,mean)
sd(df$x) #result: NA
sd(df$x, na.rm=TRUE) #result: 2.738613
v = c("x", "y")#or
v = colnames(df)[1:2]
sapply(v, function(i) tapply(df[[i]], df$group, sd, na.rm=TRUE))
describeBy(df$x, df$group)
error.bars.by(df$x, df$group, bars=TRUE)