我想從一個數據框中選擇一個列,使用一個變量作爲列名,列名被轉義的問題。我有一些解決方法來做到這一點,這涉及到更改我的代碼太多,無論如何,我一直在四處尋找,我很好奇,如果有人知道這種奇怪的情況的解決方案。當子列名被轉義時,帶有變量的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