2017-09-25 78 views
0

我有一個函數定義如下:如何將函數參數賦值給R中的變量名[詳細示例]?

my_fun <- function(x, y = "abc") { 
y.default.value = 8 
} 

我怎樣才能動態地做出y.default.value是abc.default.value或者Y =「GRE」 gre.default.value?

我正在處理y名稱,我想實現變量名稱,請諮詢我應該怎麼做?

+0

將重要信息存儲在R中的變量名中很奇怪。聽起來好像有一個'default.values(abc = 1,gre = 2)'列表,然後你可以執行default.values [ [y]]'爲了得到正確的一個。 – MrFlick

回答

0

這將做你問什麼...

my_fun <- function(x, y = "abc") { 
       assign(paste0(y, ".default.value"), 8, envir=.GlobalEnv) 
       } 

可以省略envir=.GlobalEnv如果你只希望新變量的函數調用中存在。我不確定x是什麼!

+0

envir = .GlobalEnv是什麼?我只需要在函數中使用它。 – Steves

+0

在這種情況下,你不需要它。 –

+0

非常感謝這個任務有其他替代方案嗎?我需要將從paste/paste0函數獲得的字符串轉換爲可變列名: df $ column_name_created_from_paste_function – Steves