【问题标题】:How do I rename the splitting variables in a split histogram?如何重命名拆分直方图中的拆分变量?
【发布时间】:2021-02-14 11:52:31
【问题描述】:

具体来说我有以下代码:

histogram(~di01a | sex, type="count" , nint = 20, stripes =c("horizontal") , data = ALLBUSNEU)

它会生成以下视觉效果。

变量 sex 可以有值 1 和 2 但它为两个直方图都显示“sex”,这是第一个问题: 如何让它显示1和2?

第二期: 我希望它们显示为“男性”和“女性”是否可以在不改变变量本身的情况下进行?

【问题讨论】:

  • 您不想将两个图都放在一个图表上吗?

标签: r lattice


【解决方案1】:

确保您在 factor 和您的 sex 列中传递。

你的代码应该是这样的:

library(lattice)

ALLBUSNEU$sex <- as.factor(ALLBUSNEU$sex)
histogram(~di01a | sex, type="count" , nint = 20, stripes =c("horizontal") , data = ALLBUSNEU)

第二个问题:我希望他们显示为“男性”和“女性”?

这是lattice 中的惯用方式,如其文档和other referenced materials 中所述:

ALLBUSNEU$sex <- factor(ALLBUSNEU$sex, labels=c("male", "female"))
histogram(~di01a | sex, type="count" , nint = 20, stripes =c("horizontal") , data = ALLBUSNEU)

如果您担心这会改变原始列,请创建一个额外的变量(列)以保持该列不变。

ALLBUSNEU$sexFactor <- factor(ALLBUSNEU$sex, labels=c("male", "female"))
histogram(~di01a | sexFactor, type="count" , nint = 20, stripes =c("horizontal") , data = ALLBUSNEU)

如果您也不想在数据框上创建新列,则制作原始数据框的副本,并在复制的副本上进行可视化,您可以在其中执行适当的类型转换。

说明

由于我没有你的数据,我将使用mtcars 来演示这个想法。

以下代码:

library(lattice)
histogram(~mpg | cyl, type="count" , nint = 20, stripes =c("horizontal") , data = mtcars)

产生:

这是因为mtcars$cyl 是数字,不被识别为一个因素。 lattice 不知道如何对待它与处理数字变量的方式不同。

当我执行转换并调用相同的代码时,lattice 现在知道此列中的每个值都是一个因子级别,并使用其字符串表示:

library(lattice)
mtcars$cyl <- as.factor(mtcars$cyl)
histogram(~mpg | cyl, type="count" , nint = 20, stripes =c("horizontal") , data = mtcars)

这会产生:

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 2015-01-20
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多