将数据框作为函数参数传递,但在调用函数时将其名称用作字符串

丹尼尔加

我有一个data.table,一个带名称的字符串和一个函数:

example_dt <- data.table(a = c(1,2,3), b = c(4,5,6))
string <- 'example_dt'
fun <- function(x) {
  print((deparse(substitute(x))))
  x[c(1,2), c(1,2)]
}

当使用data.table作为参数调用该函数时,一切正常。

> fun(example_dt)
[1] "example_dt"
   a b
1: 1 4
2: 2 5

当然,用字符串调用是行不通的。

> fun(string)
[1] "string"
Error in x[c(1, 2), c(1, 2)] : número incorreto de dimensões

我可以使用get克服此问题,但是随后我丢失了有关data.table名称的信息。

> fun(get(string))
[1] "get(string)"
   a b
1: 1 4
2: 2 5

是否知道如何使用字符串调用该函数,同时检索data.table的原始名称“ example_dt”?

罗纳克·沙

您可以get在函数中使用它来指定从中调用环境。

fun <- function(x) {
  print(x)
  get(x,envir = parent.frame())[c(1,2), c(1,2)]
  #OR
  #get(x,envir = .GlobalEnv)[c(1,2), c(1,2)]
}

fun(string)

#[1] "example_dt"
#   a b
#1: 1 4
#2: 2 5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串参数传递给函数作为dplyr中的数据框列名称

来自分类Dev

R-访问在函数参数中作为字符串传递的数据框列名称

来自分类Dev

当我将其名称作为字符串时如何执行私有JavaScript函数

来自分类Dev

将函数调用作为参数传递

来自分类Dev

将函数参数名称作为字符串传递

来自分类Dev

将函数的字符串参数作为列名传递

来自分类Dev

将字符串作为键参数传递给函数

来自分类Dev

将空格字符串作为参数传递给函数

来自分类Dev

将php字符串作为参数传递给php脚本中调用的javascript函数

来自分类Dev

将数据帧列表中的数据帧用作R中的函数参数,并通过其名称进行调用

来自分类Dev

将字符串传递给R函数并将其用作函数中的列名

来自分类Dev

ReactJS:如何传递字符串用作函数名称?

来自分类Dev

调用作为参数传递的函数

来自分类Dev

将字符串传递给R函数参数,但稍后用作另一个函数的参数名称

来自分类Dev

在bash中将字符串作为函数的参数传递时,字符串被剪切

来自分类Dev

Java:当我将其名称作为字符串时如何返回对象?

来自分类Dev

在c ++中定义字符串并将其作为函数传递为参数的方式不同的区别

来自分类Dev

将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

来自分类Dev

将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

来自分类Dev

将函数引用作为参数传递

来自分类Dev

在Python中,将参数作为函数内的字符串传递给函数

来自分类Dev

当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

来自分类Dev

将字符串地址作为参数传递给指针,指针传递给char函数

来自分类Dev

LUA:在类中使用其名称(字符串)调用函数

来自分类Dev

C#如何使用其名称的字符串调用不同的函数?

来自分类Dev

如何将二维数组类型字符(字符串)作为函数参数传递?

来自分类Dev

Python - 使用字符串数组,将它们作为函数的数据帧名称的输入传递

来自分类Dev

Dapper:调用postgres函数时,字符串作为文本传递

来自分类Dev

当从Delphi作为函数参数传递给C#时,空字符串变为null

Related 相关文章

  1. 1

    将字符串参数传递给函数作为dplyr中的数据框列名称

  2. 2

    R-访问在函数参数中作为字符串传递的数据框列名称

  3. 3

    当我将其名称作为字符串时如何执行私有JavaScript函数

  4. 4

    将函数调用作为参数传递

  5. 5

    将函数参数名称作为字符串传递

  6. 6

    将函数的字符串参数作为列名传递

  7. 7

    将字符串作为键参数传递给函数

  8. 8

    将空格字符串作为参数传递给函数

  9. 9

    将php字符串作为参数传递给php脚本中调用的javascript函数

  10. 10

    将数据帧列表中的数据帧用作R中的函数参数,并通过其名称进行调用

  11. 11

    将字符串传递给R函数并将其用作函数中的列名

  12. 12

    ReactJS:如何传递字符串用作函数名称?

  13. 13

    调用作为参数传递的函数

  14. 14

    将字符串传递给R函数参数,但稍后用作另一个函数的参数名称

  15. 15

    在bash中将字符串作为函数的参数传递时,字符串被剪切

  16. 16

    Java:当我将其名称作为字符串时如何返回对象?

  17. 17

    在c ++中定义字符串并将其作为函数传递为参数的方式不同的区别

  18. 18

    将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

  19. 19

    将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

  20. 20

    将函数引用作为参数传递

  21. 21

    在Python中,将参数作为函数内的字符串传递给函数

  22. 22

    当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

  23. 23

    将字符串地址作为参数传递给指针,指针传递给char函数

  24. 24

    LUA:在类中使用其名称(字符串)调用函数

  25. 25

    C#如何使用其名称的字符串调用不同的函数?

  26. 26

    如何将二维数组类型字符(字符串)作为函数参数传递?

  27. 27

    Python - 使用字符串数组,将它们作为函数的数据帧名称的输入传递

  28. 28

    Dapper:调用postgres函数时,字符串作为文本传递

  29. 29

    当从Delphi作为函数参数传递给C#时,空字符串变为null

热门标签

归档