2017-09-16 2 views
0

바이올린 조사 결과를 작성하려고하는데 모든 응답자가 동일한 응답을 제출 한 경우를 생각해보십시오. 이 경우 vioplot은 아무 것도 표시하지 않고 vioplot에서 boxplot으로 변경하여 답변이있는 행을 최소한으로 유지합니다.R 바이올린 플롯 (vioplot)에 동일한 값의 데이터가 표시되지 않습니다.

내 코드 :

이 대신 vioplot를 사용하여, 상자 그림과 같은 모습입니다
plot(1,1,xlim=c(0,10),ylim=range(c(x1,x2,x3,x4,x5,x6,x7,x8,x9)),type="n", 
xlab="",ylab="",axes=FALSE) 
axis(side = 1, at=2,label="") 
axis(side = 1, at=5,label="") 
axis(side = 1, at=8,label="") 

axis(side=2) 
vioplot(x1,at=1,col="blue",add=TRUE) 
vioplot(x2,at=2,col="red",add=TRUE) 
vioplot(x3,at=3,col="yellow",add=TRUE) 
vioplot(x4,at=4,col="blue",add=TRUE) 
vioplot(x5,at=5,col="red",add=TRUE) 
vioplot(x6,at=6,col="yellow",add=TRUE) 
boxplot(x7,at=7,col="blue", add=TRUE) 
boxplot(x8,at=8,col="red",add=TRUE) 
vioplot(x9,at=9,col="yellow",add=TRUE) 

, 전체 열은 비어 있습니다. 코드가 나는 vioplot을 사용할 수 있도록처럼해야 내가 무엇을 잘못하고 있어요 무슨

enter image description here

어떤 아이디어?

+1

만약 당신이 어떤 변화가 없다면 그것은 그와 같은 음모를 갖는 것이 좋다. 너는 아무 잘못도없는거야. – ekstroem

+0

문제는 색상이 질문을하는 범주를 표시하기 때문에 사용자가 검은 색 선 만 있기 때문에 응답자가 같은 대답을 제출 한 범주를 볼 수 없습니다. 나는 Photoshop에서 그릴 수 있지만 그게 내가하고 싶은 마지막 일이야 .-) – Ryan

답변

0

패키지와 함께 빠르게 재생했습니다. 옵션이 많지 않으므로이 케이스를 잘 처리하지는 않습니다. 데이터에 지터를 사용하여 그래프에 작은 임의 잡음을 생성 할 수 있습니다.

library(data.table) 
library(vioplot) 

cdt <- setDT(copy(cars)) 
cdt[, new := 16] 

vioplot(cdt$speed, cdt$dist, jitter(cdt$new, 0.0001)) 

ggplot2 패키지에서 geom_violin을 사용해 보는 것이 좋습니다.

http://www.sthda.com/english/wiki/ggplot2-violin-plot-quick-start-guide-r-software-and-data-visualization

명 Prettier 및

추신 : 더 많은 기능 data.table을 사용하지 않으면 미안합니다. 나는 지금 그것을 코드하지 않는다 :)

관련 문제