- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 6 个基因,我想比较两组(对照克罗恩病和对照溃疡性结肠炎)之间的效应大小(遵循线性混合模型)。我的条形图既有阳性也有阴性,总共有 6 个基因。
这是我的数据:
structure(list(Gene1 = c(-0.017207751,
-0.00939068, 0.007440363, 0.004574254), Gene2 = c(0.025987401,
0.025625772, 0.010239336, 0.00695056), Gene3 = c(0.018122943, 0.012997113,
0.008892864, 0.006541982), Gene4 = c(-0.022694115,
-0.009823328, 0.007286011, 0.004776522), Gene5 = c(0.031315514,
0.013967722, 0.008674407, 0.00674662), Gene6 = c(-0.016374358,
-0.009660298, 0.007140279, 0.004536602)), class = "data.frame", row.names = c("Control_Crohns",
"Control_UC", "Std.error_controlcrohns", "Std.errorr_controluc"
))
datframe2=data.frame(Group=rownames(data), data)
datframe.m <- melt(datframe2, id.vars = "Group")
graph <- ggplot(datframe.m, aes(x = variable, y= value, fill=Group)) +geom_bar(aes(variable, value),
stat= "identity", width=0.8, position="dodge")
graph + theme(axis.text.x=element_text(angle = 90, vjust = 0.5, hjust=1)) + xlab("Gene") +
ylab("Estimate")
最佳答案
我认为您需要 reshape 您的数据框,以使您的数据更易于在 gglot2
中使用。 .
当要将数据 reshape 为更长的格式并以多个列名称作为输出时,我更喜欢使用 melt
函数来自 data.table
包裹。但是您可以使用 pivot_longer
获得类似的结果函数来自 tidyr
.
最后,您的数据集应如下所示:
library(data.table)
DF <- as.data.frame(t(DF))
DF$Gene <- rownames(DF)
DF.m <- melt(setDT(DF), measure = list(grep("Control_",colnames(DF)),grep("Std.error",colnames(DF))),
value.name = c("Control","SD"))
Gene variable Control SD
1: Gene1 1 -0.017207751 0.007440363
2: Gene2 1 0.025987401 0.010239336
3: Gene3 1 0.018122943 0.008892864
4: Gene4 1 -0.022694115 0.007286011
5: Gene5 1 0.031315514 0.008674407
6: Gene6 1 -0.016374358 0.007140279
7: Gene1 2 -0.009390680 0.004574254
8: Gene2 2 0.025625772 0.006950560
9: Gene3 2 0.012997113 0.006541982
10: Gene4 2 -0.009823328 0.004776522
11: Gene5 2 0.013967722 0.006746620
12: Gene6 2 -0.009660298 0.004536602
ggplot2
轻松绘图通过使用
geom_errorbar
每个基因的标准差。
library(ggplot2)
ggplot(DF.m, aes(x = Gene, y= Control, fill = as.factor(variable)))+
geom_col(position = position_dodge())+
geom_errorbar(aes(ymin = Control-SD,ymax = Control+SD), position = position_dodge(0.9), width = 0.2)+
scale_fill_discrete(name = "Disease", labels = c("Crohns", "UC"))
关于r - 如何将已计算的标准误差值添加到条形图 (ggplot) 中的每个条形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61067977/
有人知道如何在数组字段中插入以竖线/竖线分隔的数组吗? 逗号可以正常工作,但是当我将其更改为 bar 时,它会产生错误“格式错误的数组文字” 示例(有效): insert into table (ar
我尽力阅读与我的问题相关的问题。最相关的是:question .但是我无法弄清楚如何解决我的问题。我有一个像这样的数据集 structure(list(COMPANY = structure(1
在使用 matplotlib 挣扎了比我想承认的时间更长的时间之后,我试图在我使用过的几乎任何其他绘图库中做一些轻而易举的事情,我决定向 Stackiverse 寻求一些见解。简而言之,我需要的是创建
如何实现带有条形样式的 Activity 指示器。根据以下文档http://developer.android.com/design/building-blocks/progress.html “Ac
我正在尝试使用数组中的数据制作水平条形图 $values = implode(',', array_values($type)); $labels = implode('|', array_keys(
这个问题在这里已经有了答案: Two-tone background split by diagonal line using css (7 个答案) Create a slanted edge
我正在处理一个范围非常大的图表,我发现条形图偏离了轴。我怎样才能阻止这个?这是我在教程中编写的一个示例,因为我的数据是通过读取大量文件获取的。这说明了我遇到的问题。我给出了标准差,意味着一个很大的范围
我在 Swift 2.2 中创建了一个 UIProgressView(条形),现在想改变它的高度。其他一些帖子建议使用 CGAffineTransformScale 来更改高度。但是,出于某种原因,这
我想在条形图上绘制两组具有不同比例的值。例如,对于一周中的每一天,我都有一个比例(比如那天同事迟到的比例)和一个值(他们平均迟到多长时间)。 这两个值可以绘制在两个单独的图表上,但将它们放在同一个图表
我想制作一个具有隐藏/显示功能的组合(线/条)图。我遇到的问题是我不知道如何指定索引更改(对于 javascript 来说是新的)这是我的示例(取消选中前两个复选框之一并重新选中它以查看问题): ht
我安装了 YCM(你完成了我),当我编码时,我发现命令 $ 不工作。它不会跳到行尾,而是跳到最后一行。例如,a.cpp 中的一行: #include| 现在光标在 include 之后,然后我键
我想在条形图顶部显示自定义标签。 下面是我的 stacklabel 代码,这里的问题是我想在 stacklabel 的格式化程序中使用堆栈的类别名称,我该如何访问它。 stackLabels: {
我是一名优秀的程序员,十分优秀!