R 为“ggstatsplot”包中的多个ggplot层重新排列x变量的正确方法

R 为“ggstatsplot”包中的多个ggplot层重新排列x变量的正确方法,r,ggplot2,R,Ggplot2,从, 我尝试将自定义顺序中的x变量重新排列为Wine B、Wine A和Wine C,而不是默认顺序。 问题是连接平均值的ggline(ggplot的另一层)没有按给定顺序排列 library(WRS2) ggstatsplot::ggwithinstats( data = WineTasting, x = Wine, y = Taste, type = "np", # non-parametric test pairwise.comparisons =

从, 我尝试将自定义顺序中的x变量重新排列为
Wine B
Wine A
Wine C
,而不是默认顺序。
问题是连接平均值的ggline(ggplot的另一层)没有按给定顺序排列

library(WRS2)
ggstatsplot::ggwithinstats(
  data = WineTasting,
  x = Wine,
  y = Taste,
  type = "np", # non-parametric test
  pairwise.comparisons = TRUE,
  ggplot.component = list(scale_x_discrete(limits=c("Wine B", "Wine A", "Wine C")))
)
在下面的裁剪输出中,您可以看到红线连接的意思是从
winea
开始,而不是从提供的订单开始


对数据集中的因子重新排序,而不是对轴上的刻度重新排序:

WineTasting$Wine <- relevel(WineTasting$Wine, 'Wine B')
ggwithinstats(
  data = WineTasting,
  x = Wine,
  y = Taste,
  type = "np", # non-parametric test
  pairwise.comparisons = TRUE
)

winestreating$Wine重新排序数据集中的因子,而不是重新排序轴上的刻度:

WineTasting$Wine <- relevel(WineTasting$Wine, 'Wine B')
ggwithinstats(
  data = WineTasting,
  x = Wine,
  y = Taste,
  type = "np", # non-parametric test
  pairwise.comparisons = TRUE
)

品酒$Wine谢谢。Relevel仅设置第一个级别。如果我想创建所有级别的自定义顺序,该怎么办?对于一个通用情况(即安排所有级别),我们可以使用,
winestreating$Wine,正如kbc所说的那样。您必须使用
ordered
factor
并使用
levels
参数来设置排序。谢谢。Relevel仅设置第一个级别。如果我想创建所有级别的自定义顺序,该怎么办?对于一个通用情况(即安排所有级别),我们可以使用,
winestreating$Wine,正如kbc所说的那样。您必须使用
ordered
factor
并使用
levels
参数来设置排序。