R 中的自定义错误栏 - 基因表达中的传播错误
Custom Error Bars in R - propagating error in gene expression
你好 Stack Overflow,
TL;DR: I want to plot a bar plot with bar height 34.30, the upper error
bar extending to 55.68, and the lower error bar extending to 21.12. Can I set
error bars manually in R?
更长的版本:
我正在对基因表达数据进行 delta delta Ct 计算。我想用条形图来显示我的表情。我还想通过我的计算传播错误。我可以按照 Livak 等人的方法在 R 或 excel 中进行传播计算。 (2001),并得到置信区间的上限和下限。但是在 R 中绘制这些图很麻烦,因为我首先取每个处理的平均值,然后取这些平均值之间的差值,然后转换差值。因此,我正在绘制的值不是从多个测量中获得输入,而只是一个数字。因此,以标准方式绘制误差线是行不通的,因为一个数字没有误差范围。
自己做计算,我可以找到 95% 置信区间的上限和下限。我希望能够将这些指定为误差线的上限和下限。这可能吗?
Livak 等人。 (2001): http://www.gene-quantification.net/livak-2001.pdf
下面是数据的示例:
control
sample, gene1, gene2
1 , 30.00, 27.00
2 , 30.50, 27.25
3 , 29.50, 26.50
4 , 30.10, 26.90
treatment
sample, gene1, gene2
5 , 25.00, 27.00
6 , 25.50, 27.15
7 , 24.50, 26.80
8 , 25.10, 27.10
那么对照中每个基因的平均值为:gene1 = 30.03, gene2 = 26.91
The difference of control values is then: 30.03-26.91 = 3.12
然后治疗中每个基因的平均值为:gene1 = 25.03, gene2 = 27.01
The difference of control values is then: 25.03-27.01 = -1.98
和
The difference in expression between the control and treatment is: -1.98 - 3.12 = -5.10
我绘制的表达式值(倍数变化)是:2^-(5.10) = 34.30
因此,条形表示表达变化了 34.30 倍。
我正在为我的误差条使用误差幅度,我得到 (-5.10) 的上限和下限,然后以相同的方式转换它们(即 2^-X)以找到我的转换后数据误差范围的上限和下限。我需要在转换前计算上限和下限,否则我在表达式的折叠变化上得到错误的上限和下限。
Margin of Error = (StDev*(T-stat/sqrt(n))) = 0.70, thus
The upper bound of -5.10 is -4.40
The lower bound of -5.10 is -5.80
The transformed gene expression (2^-(-5.1)) is: 34.30
The transformed upper bound is: 55.68
The transformed lower bound is: 21.12
所以我希望我的 bar 为 34.30 高点,然后上方误差线延伸至 55.68,下方误差线延伸至 21.12。
谢谢!
是的,所以我非常有信心这是可能的。我假设您可以将上限和下限作为两个值向量,称为 upper
和 lower
。先定义一个error bar函数:
# Adding error bars to the barplot
error.bar <- function(x, y, upper, lower=upper, length=0.1, ...){
if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper))
stop("vectors must be same length")
arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, lwd = 2, ...)
}
然后用你想要的任何值来制作你的情节。
# Plotting the barplot
barx <- barplot(values)
现在我们可以绘制误差图,用您的数据或计算结果替换 y_values
、lower_values
和 upper_values
。
# Adding the bars.
error.bar(barx, y_values, lower_value, upper_value)
你好 Stack Overflow,
TL;DR: I want to plot a bar plot with bar height 34.30, the upper error
bar extending to 55.68, and the lower error bar extending to 21.12. Can I set
error bars manually in R?
更长的版本:
我正在对基因表达数据进行 delta delta Ct 计算。我想用条形图来显示我的表情。我还想通过我的计算传播错误。我可以按照 Livak 等人的方法在 R 或 excel 中进行传播计算。 (2001),并得到置信区间的上限和下限。但是在 R 中绘制这些图很麻烦,因为我首先取每个处理的平均值,然后取这些平均值之间的差值,然后转换差值。因此,我正在绘制的值不是从多个测量中获得输入,而只是一个数字。因此,以标准方式绘制误差线是行不通的,因为一个数字没有误差范围。
自己做计算,我可以找到 95% 置信区间的上限和下限。我希望能够将这些指定为误差线的上限和下限。这可能吗?
Livak 等人。 (2001): http://www.gene-quantification.net/livak-2001.pdf
下面是数据的示例:
control
sample, gene1, gene2
1 , 30.00, 27.00
2 , 30.50, 27.25
3 , 29.50, 26.50
4 , 30.10, 26.90
treatment
sample, gene1, gene2
5 , 25.00, 27.00
6 , 25.50, 27.15
7 , 24.50, 26.80
8 , 25.10, 27.10
那么对照中每个基因的平均值为:gene1 = 30.03, gene2 = 26.91
The difference of control values is then: 30.03-26.91 = 3.12
然后治疗中每个基因的平均值为:gene1 = 25.03, gene2 = 27.01
The difference of control values is then: 25.03-27.01 = -1.98
和
The difference in expression between the control and treatment is: -1.98 - 3.12 = -5.10
我绘制的表达式值(倍数变化)是:2^-(5.10) = 34.30 因此,条形表示表达变化了 34.30 倍。
我正在为我的误差条使用误差幅度,我得到 (-5.10) 的上限和下限,然后以相同的方式转换它们(即 2^-X)以找到我的转换后数据误差范围的上限和下限。我需要在转换前计算上限和下限,否则我在表达式的折叠变化上得到错误的上限和下限。
Margin of Error = (StDev*(T-stat/sqrt(n))) = 0.70, thus
The upper bound of -5.10 is -4.40
The lower bound of -5.10 is -5.80
The transformed gene expression (2^-(-5.1)) is: 34.30
The transformed upper bound is: 55.68
The transformed lower bound is: 21.12
所以我希望我的 bar 为 34.30 高点,然后上方误差线延伸至 55.68,下方误差线延伸至 21.12。
谢谢!
是的,所以我非常有信心这是可能的。我假设您可以将上限和下限作为两个值向量,称为 upper
和 lower
。先定义一个error bar函数:
# Adding error bars to the barplot
error.bar <- function(x, y, upper, lower=upper, length=0.1, ...){
if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper))
stop("vectors must be same length")
arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, lwd = 2, ...)
}
然后用你想要的任何值来制作你的情节。
# Plotting the barplot
barx <- barplot(values)
现在我们可以绘制误差图,用您的数据或计算结果替换 y_values
、lower_values
和 upper_values
。
# Adding the bars.
error.bar(barx, y_values, lower_value, upper_value)