如何在函数中使用字符作为R中的参数?

时间:2015-12-04 14:39:11

标签: r

我想更新一个我想为名称指定权重的日期文件。

例如:

weight_f = function(Name = 0, Weight = 0){ 
        data$Weight = ifelse(data$Name==Name, Weight, NA)
}

问题是我需要将姓名命名为"姓名"在==之后。我试过粘贴"之前和之后,但它不会工作,因为R不会让我进入"""

1 个答案:

答案 0 :(得分:0)

非常容易解决:)

weight_f = function(Name = 0, Weight = 0){ 
        data$Weight = ifelse(data$Name==deparse(substitute(Name)), Weight, NA)
}

编辑:

实际上,我认为我误解了你的要求,我的回答没有任何意义因为它(在我认为你的意思是,你会使用“名称”而不是解析(替代(姓名) )) - 相同的输出)。

我想你想要的可能是toString

weight_f = function(Name = 0, Weight = 0){ 
        data$Weight = ifelse(data$Name==toString(Name), Weight, NA)
}