【发布时间】:2017-08-23 21:24:36
【问题描述】:
我正在尝试通过修改下面的代码来创建显示均值和标准差的箱线图以及软件 R 中点的散点图。
library(ggplot2)
# create fictitious data
a <- runif(10)
b <- runif(12)
c <- runif(7)
d <- runif(15)
# data groups
group <- factor(rep(1:4, c(10, 12, 7, 15)))
# dataframe
mydata <- data.frame(c(a,b,c,d), group)
names(mydata) <- c("value", "group")
# function for computing mean, DS, max and min values
min.mean.sd.max <- function(x) {
r <- c(min(x), mean(x) - sd(x), mean(x), mean(x) + sd(x), max(x))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}
# ggplot code
p1 <- ggplot(aes(y = value, x = factor(group)), data = mydata)
p1 <- p1 + stat_summary(fun.data = min.mean.sd.max, geom = "boxplot") + geom_jitter(position=position_jitter(width=.2), size=3) + ggtitle("Boxplot con
media, 95%CI, valore min. e max.") + xlab("Gruppi") + ylab("Valori")
这是我的数据集:
number name percent
1 CD1_lung1 0.824214533
3 CD1_lung2 1.118706494
5 CD1_lung3 1.271139637
7 CD1_lung4 0.785939335
9 CNR_20 0.592576592
11 CNR_lung 1.764129689
13 CNR_2 0.643293719
2 Gpc_KO1_lung 0.730014957
4 Gpc_KO2_lung 0.679556429
6 Gpc_KO3_lung 1.00910329
8 KO12 1.074708817
10 Gpc1_hom_lung 1.86280637
12 KO35 0.521546931
14 KO45 0.486304707
我使用 read.table("C:/Users/me/Desktop/WB0823_m1/wb0823R.txt", header = TRUE) 将它加载到 R 中但是,由于我对使用 R 非常陌生,因此我一直坚持下一步该做什么。如果有更简单的方法可以在 MATLAB 或 Stata 中创建此箱线图,我也想知道!这两个软件中的任何一个我都无法弄清楚。
【问题讨论】:
-
即使在 R 中,除了代码已经完成的功能之外,知道您想要什么也会有所帮助。你说你要修改代码:加什么?删除什么?改变什么?传统上,箱线图基于显示中位数和四分位数的框,尽管显示的其他内容有很多变化。对于 Stata 和 MATLAB,我认为您要求的代码来绘制您没有完全解释甚至举例说明的图形,或者您假设您具有完美的双语流利程度。 .
-
进一步,问题和你的最终数据集有什么关系?从表面上看,您有 14 个名称和一个测量值,因此计算平均值和 SD 的唯一范围是将它们放在一起。
-
我认为了解分析的目标和数据的含义会很有帮助。您的数据中是否有重复/哪些是组?这些值是您的原始数据还是某种聚合?从您的帖子中完全不清楚。
-
对不起,我不清楚。我正在尝试创建一个类似于此链接中的图表的箱线图:statistic-on-air.blogspot.com/2014/02/…
-
基本上我想创建一个显示均值、均值 + sd 和均值 -sd 的箱线图,并在有意义的情况下将我的数据点绘制在箱线图的顶部?
标签: r matlab stata scatter-plot boxplot