R 编码 ASCII 反引号



我的列表名称上有以下反引号。以前的列表没有这种反引号。

$`1KG_1_14106394`
[1] "PRDM2"
$`1KG_20_16729654`
[1] "OTOR"

我发现这是一个"ASCII重音",并阅读了关于编码类型的R页面。但是怎么办呢? 我不清楚这是否会影响某些功能(例如匹配列表名称),还是可以保持原样?

编码帮助页面:https://stat.ethz.ch/R-manual/R-devel/library/base/html/Encoding.html

谢谢!

我的理解(我可能是错的)是反引号只是转义列表名称的一种手段,否则如果不转义就无法使用。 使用反引号引用列表名称的一个示例是包含空格的名称的情况:

lst <- list(1, 2, 3)
names(lst) <- c("one", "after one", "two")

如果要引用包含数字 2 的列表元素,可以使用以下命令执行此操作:

lst[["after one"]]

但是如果你想使用美元符号符号,你需要使用反引号:

lst$`after one`

更新:

我刚刚在SO上闲逛,发现了这篇文章,它讨论了与您的问题类似的问题。 每当禁止变量名称时,变量名称中的反引号都是必需的。 空格就是一个例子,但使用保留关键字作为变量名称也是如此。

if <- 3     # forbidden because if is a keyword
`if` <- 3   # allowed, because we use backticks

在您的情况下:

您的列表有一个名称以数字开头的元素。 R 中变量名称的规则非常宽松,但它们不能以数字开头,因此:

1KG_1_14106394   <- 3  # fails, variable name starts with a number
KG_1_14106394    <- 3  # allowed, starts with a letter
`1KG_1_14106394` <- 3  # also allowed, since escaped in backticks

相关内容

  • 没有找到相关文章

最新更新