按中位数排列格子 bwplot 中的框的最佳方法
Best way to order boxes in a lattice bwplot by their median
我的目标是按中位数排列格子中的框 bwplot
。我知道 aggregate
、reorder
等,以及晶格 index.cond
或 perm.cond
参数可用于此目的,但我很难正确放置这些片段连同 bwplot
。如果能提供一个干净且可重用的解决方案,并说明有关参数和函数如何在该解决方案中协同工作的一些细节,我将不胜感激 - 因为这是目前尚不完全理解的内容。
这是一个没有顺序的情节的最小工作示例:
bwplot(data = iris, x = Sepal.Width ~ Species)
据我了解,可以通过类似于此的方式强制按中位数对框进行排序:
# notrun
bwplot(data = iris, x = Sepal.Width ~ Species | XXX, index.cond = function(x,y) reorder(x,y,median))
bwplot(data = iris, x = Sepal.Width ~ Species, perm.cond = XXX)
PS:关于订购 bwplot
(至少是我发现的那些)有关 SO 的一堆现有问题要么调查其他细节,要么没有为我提供通用解决方案。
bymedian <- with(iris, reorder(Species, Sepal.Width, median))
lattice::bwplot(Sepal.Width ~ bymedian, data=iris)
我的目标是按中位数排列格子中的框 bwplot
。我知道 aggregate
、reorder
等,以及晶格 index.cond
或 perm.cond
参数可用于此目的,但我很难正确放置这些片段连同 bwplot
。如果能提供一个干净且可重用的解决方案,并说明有关参数和函数如何在该解决方案中协同工作的一些细节,我将不胜感激 - 因为这是目前尚不完全理解的内容。
这是一个没有顺序的情节的最小工作示例:
bwplot(data = iris, x = Sepal.Width ~ Species)
据我了解,可以通过类似于此的方式强制按中位数对框进行排序:
# notrun
bwplot(data = iris, x = Sepal.Width ~ Species | XXX, index.cond = function(x,y) reorder(x,y,median))
bwplot(data = iris, x = Sepal.Width ~ Species, perm.cond = XXX)
PS:关于订购 bwplot
(至少是我发现的那些)有关 SO 的一堆现有问题要么调查其他细节,要么没有为我提供通用解决方案。
bymedian <- with(iris, reorder(Species, Sepal.Width, median))
lattice::bwplot(Sepal.Width ~ bymedian, data=iris)