我想編寫一個函數,該函數根據從SQL表中讀取的字符串在數據框中創建新變量。該函數應該帶有兩個參數:df
和str
,並返回df
並附加一個額外的列。 str
將爲"a = f(B)"
形式的字符串,其中a
爲df
,B
的列爲df
的一組列,f
爲轉換函數。傳遞字符串作爲變換的第二個參數
例子:
df <- data.frame(EventID = c(111,112,113), Day = c(6,8,15))
我要的是transform(df, Week = ceiling(Day/7))
,但我無法弄清楚如何傳遞字符串"Week = ceiling(Day/7)"
(如字符類型的變量)的transform
的...
參數。
我試過parse
和eval
的各種組合,但我無法弄清楚如何將字符對象轉換爲R文檔描述爲「標記的向量表達式」的內容。
使用'sprintf('transform(df,%s)',str)'來構造你的調用可能更容易 – mnel