如何在沒有反向字符的情況下編寫select
的參數?我想這樣做,以便我可以從一個變量傳遞這個參數作爲字符串。使用dplyr避免反引號字符
df <- dat[["__Table"]] %>% select(`__ID`) %>% mutate(fk_table = "__Table", val = 1)
更改的選擇"__ID"
的說法給出了這樣的錯誤:
Error: All select() inputs must resolve to integer column positions.
The following do not:
* "__ID"
不幸的是,無法避免在列名_
人物,因爲數據是從通過ODBC關係數據庫(的FileMaker)下載並且需要在保留列名的同時寫回數據庫。
理想情況下,我想能夠做到以下幾點:
colName <- "__ID"
df <- dat[["__Table"]] %>% select(colName) %>% mutate(fk_table = "__Table", val = 1)
我也試過eval(parse())
:
df <- dat[["__Table"]] %>% select(eval(parse(text="__ID"))) %>% mutate(fk_table = "__Table", val = 1)
它拋出這個錯誤:
Error in parse(text = "__ID") : <text>:1:1: unexpected input
1: _
^
順便說一句,下面的工作,但是我回到了第一個(仍然帶有倒勾符號)。
eval(parse(text="`__ID`")
參考有關反引號字符R
:
你應該看看使用'select _()'(和'dplyr'函數的其他下劃線版本)。 – hrbrmstr
這是不是這個重複 - http://stackoverflow.com/questions/24569154? – zx8754