我想从一个数据框中选择一个列,使用一个变量作为列名,列名被转义的问题。我有一些解决方法来做到这一点,这涉及到更改我的代码太多,无论如何,我一直在四处寻找,我很好奇,如果有人知道这种奇怪的情况的解决方案。当子列名被转义时,带有变量的R子集数据框列
我的数据集实际上是一系列时间序列(我在一些操作后构建的),这将是一个玩具的例子。
df <- list(`01/19/17`=seq(1,10), `01/20/17`=seq(2,11))
> df
$`01/19/17`
[1] 1 2 3 4 5 6 7 8 9 10
$`01/20/17`
[1] 2 3 4 5 6 7 8 9 10 11
我不把在列名越狱`因为我想,而是因为他们都从过程日期我按照构建数据集。
如果我知道列名我可以访问这个样子,
df$`01/19/17`
如果我想使用一个变量,看着周围如here我知道我可以把它改写为这样的事情,
`$`(df, `01/19/17`)
但我不能分配这样一个变量,
> name1 <- `01/19/17`
Error: object '01/19/17' not found
,如果分配给它这个其他的方式,我得到一个NULL,
> name1 <- "01/19/17"
> `$`(df, name1)
NULL
正如我所说,有像例如变通办法更改系列列表中的所有列名称,但我只想知道。非常感谢。
你得到NULL,因为你是在试图访问'name1'作为它不是的'df'变量“T。你将需要使用'['来使用名字 – Sotos