Наскоро попаднах на R-пакета beanplot и предлаганата възможност да се планира разпределението на две подгрупи в един единствен парцел (специален асиметричен фасул). Можете да намерите описание на пакета в Списание за статистически софтуер и на cran.r-project.org.
Аз произведох асиметричен фасул, използвайки следното CODE:
library(psych)
library(beanplot)
var1 <-c(20,33,NA,39,NA,40,34,33,NA,38,NA,8,7,NA,NA,40,34,24,25,36,40,37,34,NA,35)
var2 <- c(1,0,1,1,1,0,1,0,1,NA,1,0,0,0,0,1,1,0,1,0,1,1,NA,0,1)
mydata<-data.frame(var1,var2)
table(mydata)
par(lend = 1, mai = c(0.8, 0.8, 0.5, 0.5))
beanplot(var1 ~ var2, data= mydata, side = "both",log="",
what=c(1,1,1,0), border = NA, col = list("black", c("grey", "white")))
legend("bottomleft", fill =c("black", "grey"), legend = c("no", "yes"))
Произведеният сюжет добре показва различната форма на разпределение на двете подгрупи.
ПРОБЛЕМ
Зависимата променлива се измерва в скала, варираща от 7 до 40. Изглежда обаче, че оста y достига от -1 до +55.
Би било чудесно, ако някой може да обясни как се променя скалата, т.е. какво всъщност е начертано тук. Има ли начин да се очертае разпределението, като се използва оригиналната скала?
Много, много благодаря!
Отговори:
4 за отговор № 1beanplot
употреби density
, Прогнозната плътност може да даде маса на области над диапазона от наблюдаваните данни. Можете да опитате това, за да добиете представа какво прави плътността - plot(density(1:2))
и трябва да видите, че просто приема средна плътност на гаус, центрирана в точките с данни (обърнете внимание, че можете да използвате различно ядро като beanplot
ви позволява да посочите параметър на ядрото). Как ще избере вариацията за този гаус, зависи от вас, но по подразбиране изглежда, че използва beanplot bw.SJ
с метода "dpi" за избор на честотна лента.
Можете да използвате cutmin и cutmax, за да контролирате обхвата, над който в действителност участват парцели, но това всъщност не променя оценката на плътността.