A konfidencia intervallumsávok ábrázolása az összefoglaló statisztikákból
On február 14, 2021 by adminKicsit olyan, mint egy dobozdiagram. Úgy értem, hogy nem feltétlenül a szokásos felső konfidenciaintervallum, az alsó konfidenciaintervallum, az átlag és az adattartomány-megjelenítő dobozdiagramok, hanem úgy értem, mint egy dobozdiagram csak a három adattal: a 95% -os megbízhatósági intervallum és az átlag .
Ez egy képernyőkép egy naplócikkről, amely pontosan azt tartalmazta, amire vágyom:
Azt is szeretném tudni, hogyan használnám azt a szoftvert, amelyet a válaszadó megemlít egy ilyen diagram létrehozásához.
Megjegyzések
- Amit ” a normál felső konfidencia-intervallum, az alacsonyabb konfidencia-intervallum, az átlag és az adattartomány-megjelenítő mezőtáblázatok ” egyáltalán nem szabványos dobozos ábrák. A szokásos dobozdiagram a medián, a kvartilis, a minimum és a maximum, valamint gyakran egyéb részleteket mutat be.
- @Nick Right: de mit is hívnak valójában az ilyen grafikák? (Nem vagyok biztos abban, hogy ‘ vagyok.)
- Ez a fajta cselekmény szokásos (ez ‘ nem egy doboz plot), és minden főbb statisztikai csomag előállíthatja: Stata, SAS, R , MATLAB. Gondolom, megtehetné az Excel-szel is.
- @COOLSerdash remek! Írna választ a MATLAB-ra, mivel nekem már van MATLAB -om?
- I ‘ d meghívnám ezeket a megbízhatósági intervallum diagramokat, de nem minden cselekménynek van szüksége külön névre . Minden cselekmény megérdemel egy szöveges feliratot, azonban ….
Válasz
A MATLAB-ban érdemes lehet próbálja ki a hibasáv funkciót: http://www.mathworks.de/de/help/matlab/ref/errorbar.html
Alternatív megoldásként bután és manuálisan is megteheti. Például az “a” adatpontok mátrixa alapján kiszámíthatja az átlagát az m = mean (a) függvény segítségével, kiszámíthatja a CI-ket (attól függően, hogy milyen CI-ra van szüksége), és kézzel ábrázolja az eredményeket.
Bemutatás, ha már ismeri az átlagot és a CI-t, feltételezve, hogy a CI-k egy mátrixban vannak CI (első és második oszlop), és az átlagok egy mátrixban vannak a :
plot(1:length(CI),a,"o","markersize", 10) % plot the mean hold on; plot(1:length(CI),CI(1,:),"v","markersize", 6) % plot lower CI boundary hold on; plot(1:length(CI),CI(2,:),"^","markersize", 6) % plot upper CI boundary hold on; for I = 1:length(CI) % connect upper and lower bound with a line line([I I],[CI(1,I) CI(2,I)]) hold on; end; axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis
Bemutató abban az esetben, ha ismeri az egyedi méréseket, ismételt mérésű kísérlethez, 3+ feltételhez, oszloponként egy feltételhez, oszloponként egy alaphoz, a mátrix soraihoz egy alany a, nincs hiányzó minta, 95% -os CI, mint a MATLAB “s ttest () szerint:
[H,P,CI] = ttest(a); % calculate 95% CIs for every column in matrix a % CIs are now in the matrix CI! plot(1:length(CI),[mean(a)],"o","markersize", 10) % plot the mean hold on; plot(1:length(CI),CI(1,:),"v","markersize", 6) % plot lower CI boundary hold on; plot(1:length(CI),CI(2,:),"^","markersize", 6) % plot upper CI boundary hold on; for I = 1:length(CI) % connect upper and lower bound with a line line([I I],[CI(1,I) CI(2,I)]) hold on; end; axis([0 length(CI)+1 min(CI(1,:))*0.75 max(CI(2,:))*1.25]) % scale axis
Megjegyzések
- Olvassa el a legutóbbi szerkesztésemet, sajnálom, de sajnálom, de néhány ember, aki engem bosszant a pokolban, csak azt tudom, hogy 95% -os CI és nem jelent további adatokat.
- @BrentonHorne nem segített a hibasáv-függvényre mutató link? Úgy néz ki, pontosan az, amire vágyik.
- Ahogy Péter mondta, akkor használja a hibasávot () . Vagy használja az általam írt szkriptet, de hagyja figyelmen kívül az első sort a ttest-szel, és csak táplálja az átlagot és a CI-t. Azt hiszem,
szerkesztem.
Válasz
Nézd meg, segít-e ez neked. R megoldás:
par(mfrow=c(2,1)) # to stack the charts on column #Dataset 1 upperlimit = c(10,12,8,14) lowerlimit = c(5,9,4,7) mean = c(8,10,6,12) df = data.frame(cbind(upperlimit,lowerlimit,mean)) plot(df$mean, ylim = c(0,30), xlim = c(1,4)) install.packages("plotrix") require(plotrix) plotCI(df$mean,y=NULL, uiw=df$upperlimit-df$mean, liw=df$mean-df$lowerlimit, err="y", pch=20, slty=3, scol = "black", add=TRUE) #Dataset 2 upperlimit_2 = upperlimit*1.5 lowerlimit_2 = lowerlimit*0.8 mean_2 = upperlimit_2-lowerlimit_2 df_2 = data.frame(cbind(upperlimit_2,lowerlimit_2,mean_2)) plot(df$mean_2, ylim = c(0,30), xlim = c(1,4)) plotCI(df_2$mean_2,y=NULL, uiw=df_2$upperlimit_2-df_2$mean_2, liw=df_2$mean_2- df_2$lowerlimit_2, err="y", pch=20, slty=3, scol = "black", add=TRUE) rm(upperlimit,lowerlimit,mean,df,upperlimit_2,lowerlimit_2,mean_2,df_2) #remove the objects stored from workspace par(mfrow=c(1,1)) # go back to default (one graph at a time)
Megjegyzések
- és hogyan futtathatok ilyen kódot? Teljesen új vagyok R-ben, ezért ‘ át kell vinned rajta, mert tanácstalan vagyok.
- Segíthetek neked a lövésben, de először is két lépést kell végrehajtania: i) telepítse az R Studio alkalmazást a számítógépére, ii) adjon megismételhető példát: stackoverflow.com/questions/5963269/…
- @AndreSilva, azt hiszem, ott mentél az extra mérföldön. Nagy támogatás és mentorálás!
- Ezt kaptam a kód futtatásáért i.stack.imgur.com/yrZaJ.png
- @BrentonHome. Furcsa. Most teszteltem, és bevált. A ” hiba ” sávok sem jelennek meg. Telepítette a
plotrix
csomagot? Hozzáadtam egy program parancssort a kódba, amely telepíti a plotrix csomagot. Kérjük, próbálkozzon újra, és tudassa.
Válasz
Az ilyen típusú ábrák R-ben a ggplot2 használatával, bár előfordulhat, hogy némi fikázást kell végezni a tengely betűmérete:
library(ggplot2) data.estimates = data.frame( var = c("1", "2", "3", "4", "5", "6", "7", "8", "9"), par = c(1.12210,0.18489,1.22011,1.027446235,0.43521,0.53464,1.93316,-0.43806,-0.12029), se = c(0.42569,0.32162,0.58351,0.771608551,0.24803,0.65372,0.92717,0.45939,0.51558)) data.estimates$idr <- exp(data.estimates$par) data.estimates$upper <- exp(data.estimates$par + (1.96*data.estimates$se)) data.estimates$lower <- exp(data.estimates$par - (1.96*data.estimates$se)) p2 <- ggplot(data.estimates, aes(var,idr, size=10)) + theme_bw(base_size=10) p2 + geom_point() +geom_errorbar(aes(x = var, ymin = lower, ymax = upper, size=2), width = 0.2) + scale_y_log10(limits=c(0.1, 50), breaks=c(0.1, 0.5, 1, 5, 10, 25, 50)) + xlab("Site") + ylab("RR")
Válasz
A Statában használja a serrbar
vagy ciplot
(SSC) vagy eclplot
(Stata Journal, SSC).
Válasz
Ha feltételezzük, hogy rendelkezik hozzáféréssel az eredeti adatokhoz, ezt megteheti R-ben a szkript vonalpot.CI függvényével. könyvtár
Példa mtcars adatkészlettel:
lineplot.CI(x.factor=gear, response=mpg, group=vs, data=mtcars)
Ne feledje, hogy a lineplot.CI alapértelmezés szerint az SE sávokat ábrázolja (megváltoztatható egy új definiálásával) függvény a ci.fun argumentummal a 95% -os CI-intervallumok ábrázolásához)
lineplot.CI(x.factor=gear, response=mpg, group=vs, data=mtcars, ci.fun=function(x) c(mean(x)-1.96*se(x), mean(x)+1.96*se(x)))
Válasz
Ez megtehető R-ben points()
(vagy plot(..., type="p")
) és segments()
. Lehetnek olyan R függvények is, amelyek célja a CI létrehozása az Ön számára, de ezekhez szükség lehet az eredeti adatokra. Ugyanabban az ábrán a több panel par(mfrow=c(4,1))
címmel jött létre. Ha nem ” nem ismerek egyetlen R-t sem, ezt nehéz lenne egyszerűen megtenni (mint például, még egy kicsit többet kell megtudnod az R-ről, vagy arra kell késztetned valakit, hogy segítsen az adott adatkészleten).
Válasz
GraphPad Prism könnyen elkészítheti ezt a fajta grafikont, és hibasávokat rajzol ki a megadott hibaértékekből. Hozzon létre egy csoportosított táblázatot, amely az átlag, – és + hiba bejegyzésére van formázva.
Megjegyzések
- Lehetséges-e ingyenes másolatot szerezni belőle, amely nem ‘ csak 30 napos próbaverzió?
- @BrentonHorne: Nem. Ez nem ingyenes szoftver.
Vélemény, hozzászólás?