数据框名称为引号

时间:2017-07-03 20:27:31

标签: r

我有两个问题,两个问题都是使用数据框名称:

  1. 我想用分隔符连接两个dfs名称,例如:df1df2"df1_&_df2"

  2. 我想让R将数据框名称作为引号中的字符读取,因此我的df称为df1而我在代码的某些部分我希望它为"df1"。< / p>

  3. 当谈到第一部分时,我尝试了paste,但它在dfs和names关注列名称中粘贴了整个数据。

    在第二个问题中,能够让R将df名称理解为引号标记为在更复杂的图表的代码中非常方便,我只是将dfs放入代码中,R将图表标题排除在外。我知道这里有一个非常简单的解决方法,我可以手动创建名称列表list=c("df1", "df2"),然后在需要引用数据框内容而不是名称的地方使用函数get,但它从长远来看似乎不太方便。 R中是否有任何函数输出只是df名称?看起来像GiveMeName(df)的东西和输出是“df”? (我故意用普通字体写这个,所以没有人会认为这是真正的功能)

2 个答案:

答案 0 :(得分:1)

对于#1,您必须为我提供一个用例来了解您的目标。

对于#2,您可以使用deparse(substitute(df1))。这是一个例子:

plot_and_title <- function(df1) {
  data_name <- deparse(substitute(df1))
  plot(df1[[1]], df1[[2]], main = data_name)
}

plot_and_title(mtcars)

答案 1 :(得分:1)

通过@Nathan Werth添加答案,您可以使用以下方法连接名称:

paste(deparse(substitute(df1)), deparse(substitute(df2)), sep="_&_")