3566 3

[问答] do.call 函数使用问题 [推广有奖]

  • 0关注
  • 2粉丝

已卖:151份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
172 个
通用积分
0
学术水平
1 点
热心指数
2 点
信用等级
0 点
经验
5580 点
帖子
170
精华
0
在线时间
283 小时
注册时间
2014-3-12
最后登录
2023-3-25

楼主
呵呵哼哼哈哈 发表于 2016-3-15 23:23:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
do.call 函数的帮助文档有如下例子:
## examples of where objects will be found.
A <- 2
f <- function(x) print(x^2)
env <- new.env()
assign("A", 10, envir = env)
assign("f", f, envir = env)
f <- function(x) print(x)
f(A)                                      # 2
do.call("f", list(A))                     # 2
do.call("f", list(A), envir = env)        # 4
do.call(f, list(A), envir = env)          # 2
最后两行代码汇总,加引号的“f”和不加引号的f函数调用规则究竟是怎么样的?结果不一样应该如何解释。


诚心请教,谢谢大家的热心帮助~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:call 函数使用 Examples Objects example examples objects where

沙发
jiangbeilu 学生认证  发表于 2016-3-16 10:54:59
仔细看注释,并且比较不同的地方哈:
  1. ## examples of where objects will be found.
  2. A <- 2
  3. f <- function(x) print(x^2) # env = new.env()
  4. env <- new.env()
  5. assign("A", 10, envir = env)
  6. assign("f", f, envir = env)

  7. f <- function(x) print(x) # parent.frame()

  8. # 在parent.frame()里,f加引号和不加引号是一样的
  9. do.call(f, list(A))                       # 2
  10. do.call("f", list(A))                     # 2
  11. # 在env里,加引号和不加引号是有区别的
  12. # 加引号,代表引用的是env里的
  13. do.call("f", list(A), envir = env)        # 4
  14. # 不加引号,代表是parent.frame()里的f
  15. do.call(f, list(A), envir = env)          # 2
复制代码
已有 1 人评分经验 论坛币 收起 理由
李会超 + 80 + 20 精彩帖子

总评分: 经验 + 80  论坛币 + 20   查看全部评分

藤椅
呵呵哼哼哈哈 发表于 2016-3-16 23:29:00
jiangbeilu 发表于 2016-3-16 10:54
仔细看注释,并且比较不同的地方哈:
谢谢您的解疑~~再问一下,frame与environment之间是个什么关系,是一个概念吧?

板凳
呵呵哼哼哈哈 发表于 2016-3-16 23:30:01
jiangbeilu 发表于 2016-3-16 10:54
仔细看注释,并且比较不同的地方哈:
谢谢您的解疑~~再问一下,frame与environment之间是个什么关系,是一个概念吧?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 16:48