2012-09-17 91 views
-1

听起来像一个微不足道的,但一些研究没有提出一个优雅的解决方案: 我有一个数据框架结构与一个分类变量(GROUP)和连续读出变量(血压)。 如何制作一个简单的箱形图,显示每个组的平均值及其标准偏差? 有多个组:A,B,C,D如何在数据框中执行ANOVA事后分析。它如何与Mann-Whitney-U-Test一起工作?我可以在条形图中标记显着性水平吗? 如何将此操作简化为多个连续变量(dia_bloodpressure,sys_bloodpressure,mean_bloodpressure)和sink()不同文件中的输出(通过变量的名称)?R-Project中的Barplot平均值/ w SD

+0

..how许多问题都你问...?! –

+0

这对于一个问题有点多。也许你应该看看http://stackoverflow.com/faq#questions和http://stackoverflow.com/q/5963269/1317221,然后简化你的问题 –

+0

好吧,我想这有点多一个发布。但之后:这是典型的分析工作流程。到目前为止,我遇到了处理其中一个问题的软件包。它是1)多组测试2)很少有多组比较3)多组的比较小组,但从不具有显着性水平。 – Doc

回答

0

经过一番研究,我想出了agricolae软件包。这一个提供了多组比较。得到的对象可以流水线化为一个体面的绘图功能,用于群组条形图+/- SD或SEM。不幸的是,没有办法在地块组间使用显着性标记。

0

在R中进行了一些编程之后,我偶然发现了另一个适用于医学研究的很好的软件包:psych。 考虑到上面的问题,describe()describeBy()获得了一个数据框的统计概览并按分组变量排序。 功能error.bars.by()是平均值+/- SD的高级绘图功能。 该软件包提供了许多协变量分析功能,这些功能在心理学研究中很有用,但也可能有助于医学和营销研究。

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)