我試圖從單個數據框繪製幾個有序(即,從高到低的中值)條件框圖。通用序列如下:使用數據幀中的列繪製多個有序條件框圖
- 根據variable.group對變量1進行反向排序組中間值;
- 使用variable.group和排序的中位數創建有序的條件框圖;
- 對數據幀中的其餘變量重複(循環?)過程。
欲通過循環約70變量使用上述方法,但從tapply
是卡移動到aggregate
,在數據幀訪問每個可變的,並且編碼的循環序列。提前道歉在我下面的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)))
感謝兩個答案!我喜歡你們兩個,但因爲我是一個noob,所以不能。 –
如何將每個變量名稱添加爲每個圖的標題?下面添加所有的var名稱:par(mfrow = c(1,3)) lapply(bpdf [-1],function(x){ - {sort(tapply(x,bpdf $ group,median) = true) boxplot(x〜factor(bpdf $ group,levels = names(y)), main = paste(names(bpdf [-1]))) }) –
@QuiGonJin,仍然鼓勵您接受通過點擊旁邊的大記號來回答。 – flodel