我有一個數據框,其中的行對應於參數置信區間的上限和下限。如果有n行,則有n個變量。有兩列,一個置信度區間下限爲「下限」,另一個爲「上限」。行名稱對應於變量名稱。這樣在R中顯示幾個置信區間
lower upper
y1 7.923 9.22
y2 7.105 8.74
y3 8.185 9.54
y4 8.157 9.51
東西,我想創建一個情節,以顯示這些置信區間爲巴,優選每端法蘭。
如果有人能告訴我一個很好的方法來做到這一點,我將不勝感激!
感謝 PS
我有一個數據框,其中的行對應於參數置信區間的上限和下限。如果有n行,則有n個變量。有兩列,一個置信度區間下限爲「下限」,另一個爲「上限」。行名稱對應於變量名稱。這樣在R中顯示幾個置信區間
lower upper
y1 7.923 9.22
y2 7.105 8.74
y3 8.185 9.54
y4 8.157 9.51
東西,我想創建一個情節,以顯示這些置信區間爲巴,優選每端法蘭。
如果有人能告訴我一個很好的方法來做到這一點,我將不勝感激!
感謝 PS
最後,我對ggplot有一個很好的解決方案。感謝以上回應
p1 <- ggplot(cidf) +
geom_errorbar(aes(x = row.names(ciddf), ymin = lower, ymax = upper), width = 0.2) +
xlab("Variables") +
coord_flip() + opts(title = "Confidence intervals for Variables")
p1
在lattice
bwplot
使箱須圖:
library(lattice)
bwplot(lower+upper~var, data=dat)
見?bwplot
和?lattice
瞭解更多詳情。
在一般情況下,你可以通過讓繪圖功能總結爲DAT使用R的全部功能。例如:
dat <- data.frame(
var <- sample(paste("y", 1:4, sep=""), 100, replace=TRUE),
val <- rnorm(100)
)
plot(val~factor(var), data=dat, col="cyan")
這裏是習慣ggplot2
溶液。有幾種其他geoms
可用於這種情節。例如嘗試更換爲geom_crossbar
。欲瞭解更多詳情,請訪問
cidf = data.frame(
var = c('y1', 'y2', 'y3', 'y4'),
lower = c(7.923, 7.105, 8.185, 8.157),
upper = c(9.22, 8.74, 9.54, 9.51)
)
require(ggplot2)
p1 <- ggplot(cidf) +
geom_errorbar(aes(x = var, ymin = lower, ymax = upper), width = 0.2)
謝謝。這聽起來很有希望,但根據我對其他答案的評論,我不知道代碼中的「var」代表什麼。例如,我有一個名爲cidf的數據框,它具有「lower」和「upper」列,每行都是我想要顯示的時間間隔。再次感謝。 –
看看我更新的答案。 – Ramnath
啊,現在明白了。謝謝 !所以我需要在數據框中添加另一列 - 基本上是將行名轉換爲因子,就像上面羅馬Luštrik所說的那樣。對不起,有點慢! –
我設法找到與內置的箱線圖命令來做到這一點的方法之一。我雖然對數據幀改變爲矩陣:
ci <- as.matrix(cidf)
boxplot(ci[1,],ci[2,],ci[3,],ci[4,])
我還是很想知道一個更好的方式來做到這一點在ggplot
或bwplot
,或任何其他相關意見。
PS
謝謝!上面的第一塊情節看起來像我想要的,但我無法使它工作。示例代碼中的「var」是什麼:bwplot(lower + upper_var,data = dat) ? –
@P Sellaz'var'是一個構造來表示數據來自何處(來自y1,y2,y3,y4)的因子。在你的情況下,這將是行名。 –
對不起,我仍然遇到問題。 bwplot(lower + upper_y1,data = cidf) eval(expr,envir,enclos)中的錯誤:未找到對象'y1' –