为什么和何时“不建议使用大小来表示离散变量”?

7
我使用ggplot2制作了一个散点图,并将二元变量映射到点的大小。结果令人满意,但我收到了警告“不建议使用大小来表示离散变量”。
我知道使用大小来映射具有多个级别的非序数分类变量可能不如使用点形状或不同颜色清晰。然而,我想知道这个警告是否意在提醒我们有更严重的问题。
有没有更好的方法根据二元或分类变量改变点的大小,而不是使用aes(size=...)?
警告“不建议使用大小来表示离散变量”只是一个设计提示吗?
如果我的结果看起来不错,下次我想在类似的数据上使用相同类型的图形时,我应该担心那个警告吗?

4
必要时破坏设计建议,这是我的看法。 - Richard Telford
3
我认为你已经提到了。使用大小来映射非序数分类变量可能会向观察者暗示一种序数关系,而这并不是本意。我发现这很严重,因为它可能导致误传,但你的情况可能有所不同。 - Z.Lin
4
如果您真正想将类别映射到大小,我认为您应该将类别转换为数字,然后进行映射。这样可以避免警告并确保映射的方式与您希望的完全一致。 - Claus Wilke
我觉得这个警告有点像是父母式的说教。它在代码警告中没有任何位置,它只是一种风格建议。就像所有的风格建议一样,有时候打破它是合理的,那么我就不喜欢被警告。 - Simon Woodward
2个回答

4

正如评论和您所提到的,如果您将尺寸用于分类变量,则会误导读者。

如果您有数字,并出现此错误,请使用 as.numeric() 进行转换,因为它们可能已被存储为因子或字符值。这也可以解决图例问题。


3
这个警告的原因是大小是有序美学,而你正在将一个无序变量映射到有序美学(大小),这不是一个好主意。在构建变量时,尝试在as.factor()factor()函数中使用ordered = T,即可解决此问题。您还可以使用ordered()函数代替factor()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接