我正在处理一个函数,需要知道如何引用传入的参数。
例如,在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()函数,但非常确定如何在这种情况下应用它。
由于
答案 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
应该是什么,所以我猜你想要对象中的列名。顺便说一句,不要指望能够用这些字符值引用列值。它们不再是语言对象。