我想創建一個帶鬍鬚的箱形圖。我想比較幾項研究。對於每一個研究中,我有在Stata(或R)中創建帶鬍鬚的箱形圖
- 意味着
- 標準偏差SD
- 名
- 若干意見正
我怎樣才能做到這一點在Stata 13?
通常我會鍵入
graph box var
但var
不是平均........
我想創建一個帶鬍鬚的箱形圖。我想比較幾項研究。對於每一個研究中,我有在Stata(或R)中創建帶鬍鬚的箱形圖
我怎樣才能做到這一點在Stata 13?
通常我會鍵入
graph box var
但var
不是平均........
如果您從每項研究中獲得的都是平均值,標準差和觀測次數,則無法生成準確的箱線圖。但是,你可以假設的結果遵循特定的分佈(如正態分佈),並利用這些彙總統計繪製合成產生的數據集的箱線圖:
set.seed(144)
dat <- data.frame(study=c("A", "B", "C"), mean=c(1, 1.5, 1.2), sd=c(1, 2, 3),
n=c(40, 100, 12))
synthetic <- do.call(rbind, lapply(split(dat, seq(nrow(dat))), function(row) {
data.frame(study=row$study, y=rnorm(row$n, row$mean, row$sd))
}))
boxplot(y~study, data=synthetic)
只是重申一下,這是合成的數據是繪製,假設研究結果的特定分佈形式。如果您需要繪製研究結果,則需要了解每項研究的更多信息 - 最小值和最大值,25,50和75四分位數以及任何異常值。
如果你願意承擔的數據是正常的,你可以計算的位置鉸鏈/圍欄/等。直接(你不需要模擬,雖然它確實解決了問題)。 –
這裏有一個辦法做到這一點的R.如果你有機會獲得個人數據點,你可以這樣做以下:
# Fake data
y = rnorm(100)
boxplot(y)
如果你只有彙總統計,你可以手動更改值箱和晶須統計如下:
plot1 = boxplot(y)
plot1$stats
[,1]
[1,] -2.1433772
[2,] -0.5599737
[3,] 0.1944167
[4,] 0.6697005
[5,] 2.2113372
上述數字是爲了:下鬍鬚,下箱,中線,上箱,上須。你可以改變這些數字,你有什麼值,如下所示:
plot1$stats = c(-1.5, -1.2, 0.3, 1.2, 2.6)
或更改單值如下:
plot1$stats[2] = -1.2
然後重繪情節:
boxplot(plot1$stats)
這是所有非常快速和骯髒,但希望這會讓你開始。
我有相同的數據加載到R.所以,如果有人知道如何在R - 那麼它的罰款由我。我嘗試使用> boxplot和> bxp – user3416877
將數據或結構相同的示例數據發佈爲[可粘貼的R代碼](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-例)。 – ziggystar
你有權訪問所有數據點嗎?如果不是,則顯示平均值+/- SD的簡單barplot可能是優選的。 – TWL