【问题标题】:Get data frame from character variable从字符变量中获取数据框
【发布时间】:2013-12-28 04:56:09
【问题描述】:

我将数据框名称作为字符串传递给函数。如何从字符串中获取引用数据框的内容?假设我有字符串'mtcars',我想打印数据框 mtcars:

printdf <- function(dataframe) {
  print(dataframe)
}

printdf('mtcars');

【问题讨论】:

    标签: r


    【解决方案1】:

    如果输入是字符串,我认为你需要一个get。此外,根据您对该函数的使用情况,可能不需要显式的print

    printdf <- function(dataframe) {
      get(dataframe)
      # print(get(dataframe))
    }
    head(printdf("mtcars"))
    #                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
    # Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
    # Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
    # Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
    # Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
    # Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
    # Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
    

    【讨论】:

    • 公平地说......显式打印在名为“printdf”的函数中是有意义的
    • @Dason,我想是的。但这不会干扰,例如head
    • 取决于目标是什么。如果我写了这样的函数,我可以想象会感到沮丧:blah &lt;- function(df){printdf(df); print("That was my dataframe")}; blah("mtcars") 如果 printdf 是按照你的方式定义的,我最初可能会像“你没有打印?”
    • 最近的编辑与给出的输出不符。
    猜你喜欢
    • 2020-11-06
    • 1970-01-01
    • 2016-10-11
    • 2014-02-26
    • 2019-08-14
    • 2022-10-21
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多