引用R中的函数参数

时间:2014-12-31 02:18:05

标签: r function parameter-passing

我正在处理一个函数,需要知道如何引用传入的参数。

例如,在python或许多其他语言中,您可以引用输入参数,如下所示:

sys.argv[1:].

如何在R中引用参数的名称?

我试图解决的具体问题是我想要捕获传入参数的字符串值,因此我可以将其粘贴为我希望迭代的column_names列表的浓度。

这里是函数调用的开头,只是为了看到传入的参数:

function(df_in)

所以这是我正在编写的代码示例,我想要dataframe_in的字符串值,而不是它引用的对象。

col_name <-paste(df_in,varnames[i],sep="$")

如果df_in包含&#34; my_df&#34;当前的column_name是my_col,我试图将上面示例中的col_name设置为my_df $ my_col。

我在考虑使用get()函数,但非常确定如何在这种情况下应用它。

由于

1 个答案:

答案 0 :(得分:3)

尝试以下几点:

fn1 <- function(df_in){ in_nam <- deparse(substitute(df_in) )
         col_names <-paste(in_nam, names(df_in), sep="$")
         cat(col_names) }

> dfrm <- data.frame(a=1:10, b=letters[1:10])
> fn1(dfrm)
#dfrm$a dfrm$b

你没有说varnames应该是什么,所以我猜你想要对象中的列名。顺便说一句,不要指望能够用这些字符值引用列值。它们不再是语言对象。