gpt4 book ai didi

r - 如何处理列名中的空格?

转载 作者:行者123 更新时间:2023-12-01 22:17:29 25 4
gpt4 key购买 nike

我知道变量名称中最好不含空格。我遇到的情况是,我需要出版质量的图表,因此轴和图例需要具有正确格式的标签,即带有空格。因此,例如,在开发过程中,我可能有名为“Pct.On.OAC”和 Age.Group 的变量,但在我的最终图中,我需要出现“% on OAC”和“Age Group”:

'data.frame':   22 obs. of  3 variables:
$ % on OAC : Factor w/ 11 levels "0","0.1-9.9",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Age Group : Factor w/ 2 levels "Aged 80 and over",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Number of Practices: int 47 5 33 98 287 543 516 222 67 14 ...

但是当我尝试绘制这些时:

ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar()
)

没问题。但是当我添加一个方面时:

ggplot(dt.m, aes(x=`% on OAC`,y=`Number of Practices`, fill=`Age Group`)) +
geom_bar() +
facet_grid(`Age Group`~ .)

我收到错误[.data.frame(base,names(rows)):选择了未定义的列

如果我将 Age Group 更改为 Age.Group 那么它可以正常工作,但正如我所说,我不希望点出现在标题图例中。

所以我的问题是:

  1. 是否有解决方面问题的方法?
  2. 当我希望最终的绘图包含变量名称中的空格(和其他字符)时,是否有更好的通用方法来处理它们?我想我可以手动覆盖它们,但这似乎很无聊。

最佳答案

您问“是否有更好的通用方法来处理变量名中的空格(和其他字符)问题”,是的,有一些:

  • 只是不要使用它们,因为事情会像您在这里经历的那样损坏
  • 使用make.names()函数创建安全名称; R 也使用它来创建标识符(例如,使用下划线表示空格等)
  • 如果必须,请使用反引号保护不安全的标识符。

最后两点的示例:

R> myvec <- list("foo"=3.14, "some bar"=2.22)
R> myvec$'some bar' * 2
[1] 4.44
R> make.names(names(myvec))
[1] "foo" "some.bar"
R>

关于r - 如何处理列名中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com