【问题标题】:using special characters such as superscript in tibble variable names在 tibble 变量名中使用特殊字符,例如上标
【发布时间】:2019-07-31 14:09:54
【问题描述】:

小标题可以接受带有一些特殊字符的变量名。这是一个简单的例子:

library(tibble)
df<-tibble(
  `Age, years` = c(25, 26, 27, 29), 
  `BMI, kg/m^2` = c(21, 23, 24, 25)
)

这便于生成表格和绘图。我无法像在BMI, kg/m^2 中那样直接使用真正的上标。我可以在 ggplot 中添加标签 expression(paste("BMI, kg/m"^"2"))quote("BMI, kg/m"^"2") 以在图表中显示上标。我觉得直接将它添加到变量名中会更方便生成图形和表格。这可能吗?谢谢。

【问题讨论】:

  • 变量名是纯文本。你不能格式化它。

标签: r variables special-characters tibble superscript


【解决方案1】:

在符号和列名中包含特殊字符通常是个坏主意。转而考虑数据操作与演示。在前者中,agebmi 就足够了,这样您就可以完全灵活地设置演示文稿中的标签格式。

特殊字符和“真正的上标”并不简单,完全取决于您使用的媒体。上标 2 (²) 可能会或可能不会在 HTML、pdf 和绘图中正确显示,并且完全取决于使用的编码 (example)。

如果您需要输出上标 2,例如一个情节,你可以使用plot(1,1, ylab=expression(kg/m^2)),但需要一些步骤来包含空格。如果您需要将标签和单位分解为例如两条线?您不希望更改数据结构的命名以反映图中的标签。

HTML?使用 HTML 实体 (&amp;sup2;) 可能更安全,但您可能需要对解析输出的任何内容进行转义。同样,将标签与数据结构分开。

通过 LaTeX 获取 PDF,$\frac{kg}{m^2}$。将表示形式与数据结构中的变量名称分开。

将标签直接编码在变量名中通常是一个坏主意。如果还不相信,请考虑您确实将您的列命名为"BMI, kg/m"^"2",然后在需要通过时使用quote。在整个数据分析过程中,您必须输入该名称以引用该列。需要格式化位数吗?

df$`"BMI, kg/m"^"2"` <- format(df$`"BMI, kg/m"^"2"`, digits=1)
etc. etc. etc.

然后,在您完成报告后,您的老板会告诉您以单行方式展示单位,即kg•m^-2

【讨论】:

  • 感谢@MrGumble 提供了这么多细节。我深信不疑,并继续使用标签进行演示。
猜你喜欢
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多