하나의 데이터 프레임에서 순서가 지정된 (즉, 높은 중간에서 낮은 중간까지) 조건부 상자 플롯을 플롯하려고합니다. 일반적인 순서는 다음과 같습니다 :데이터 프레임의 열을 사용하여 여러 개의 정렬 된 조건부 상자 그림을 그립니다.
- variable.group에 따라 variable1에 대한 역순 정렬 그룹 중앙값;
- variable.group 및 정렬 된 중앙값을 사용하여 순서 조건부 상자 플롯을 작성합니다.
- 데이터 프레임의 나머지 변수에 대해 반복 (루프?) 프로세스.
는 I 위의 프로세스를 사용하여 대략 70으로 루프 변수 싶지만, aggregate
에 tapply
에서 이동 dataframe 각 변수에 액세스하고 반복 코딩 서열 붙어있다. 아래에있는 내 R 코드에서 우아함의 부족에 미리 사과 :
bpdf = data.frame(group=c("A","A","A","B","B","B","C","C","C"),
x=c(1,1,2,2,3,3,3,4,4),
y=c(7,5,2,9,7,6,3,1,2),
z=c(4,5,2,9,8,9,7,6,7))
sorted.medians = rev(sort(with(bpdf,tapply(bpdf$x,bpdf$group,median))))
boxplot(bpdf$x~factor(bpdf$group,levels=names(sorted.medians)))
감사합니다! 나는 둘 다 upvote하지만 내가 멍청이 이후로 수 없습니다. –
어떻게 각 변수 이름을 각 플롯의 제목으로 추가 할 수 있습니까? 다음은 모든 var 이름을 추가합니다. par (mfrow = c (1,3)) lapply (bpdf [-1], function (x) { y <- sort (tapply (x, bpdf $ group, median), reduce = TRUE) @QuiGonJin boxplot (xpd ($ bpf $ group, levels = names (y)), 메인 = 붙여 넣기 (이름 (bpdf [-1])) } –
여전히 허용됩니다. 그 옆에있는 큰 눈금을 클릭하여 대답. – flodel