R语言【base】——do.call():根据名称或函数以及要传递给它的参数列表构造并执行函数调用

Package base version 4.2.0


Parameters

do.call(what, args, quote = FALSE, envir = parent.frame())

参数【what】:命名要调用的函数的函数或非空字符串。

参数【args】:函数调用的参数列表。参数【args】names 属性为参数提供名称。

参数【quote】:指示是否引用参数的逻辑值。

参数【envir】:用于评估调用的环境。如果调用的内容是字符串,参数是符号或带引号的表达式,这将非常有用。


Detail

如果参数【quote】FALSE(默认值),那么将对参数进行评估(在调用环境中,而不是在 envir 中)。如果参数【quote】TRUE,则每个参数都会被加引号,这样参数评估的效果就是移除引号,在构造调用时保留未评估的原始参数。

对于使用 do.call 求值的函数,某些函数(如 substitute)的行为与解释器求值的行为不同。确切的语义目前尚未定义,可能会有变化。


Value

函数调用(已评估)的结果。


Warning

这不应被用来试图规避对使用 .Internal 和其他非 API 调用的限制。


Example

do.call("complex", list(imaginary = 1:3))## if we already have a list (e.g., a data frame)
## we need c() to add further arguments
tmp <- expand.grid(letters[1:2], 1:3, c("+", "-"))
do.call("paste", c(tmp, sep = ""))do.call(paste, list(as.name("A"), as.name("B")), quote = TRUE)## 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
do.call("f", list(quote(A)), envir = env) # 100
do.call( f,  list(quote(A)), envir = env) # 10
do.call("f", list(as.name("A")), envir = env) # 100eval(call("f", A))                      # 2
eval(call("f", quote(A)))               # 2
eval(call("f", A), envir = env)         # 4
eval(call("f", quote(A)), envir = env)  # 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/596189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# .Net学习笔记—— 异步和多线程(Task)

一、概念 Task是DotNet3.0之后所推出的一种新的使用多线程的方式&#xff0c;它是基于ThreadPool线程进行封装的。 二、使用多线程的时机 任务能够并发运行的时候&#xff0c;提升速度&#xff1b;优化体验 三、基本使用方法 private void button5_Click(object sender, Ev…

Mysql 动态链接库配置步骤+ 完成封装init和close接口

1、创建新项目 动态链接库dll 2、将附带的文件都删除&#xff0c;创建LXMysql.cpp 3、项目设置 3.1、预编译头&#xff0c;不使用预编译头 3.2、添加头文件 3.3、添加类 3.4、写初始化函数 4、项目配置 4.1、右键解决方案-属性-常规-输出目录 ..\..\bin 4.2、生成lib文件 右…

Android权限申请

目录 1. 静态申请 2. 动态申请 3. 判断权限申请情况 4. 确认权限 在android中所有的权限都需要静态申请&#xff0c;涉及用户隐私的高级权限还需要进行动态申请。 1. 静态申请 在AndroidManifest清单文件中进行申请。 <?xml version"1.0" encoding"u…

Debian部署Mysql8.0

1、下载对应系统的mysql-apt-config包 wget https://repo.mysql.com/apt/debian/pool/mysql-apt-config/m/mysql-apt-config/mysql-apt-config_0.8.29-1_all.deb2、安装mysql-apt-config包 # 安装下载的deb包 sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb上下键选择菜单中…

Gateway相关面试题及答案(2024)

1、什么是API Gateway&#xff1f;它在微服务架构中有什么作用&#xff1f; API Gateway是一个服务器&#xff0c;通常是一个可以管理和处理所有进出应用程序的请求的反向代理。在微服务架构中&#xff0c;它作为单一的入口点&#xff0c;统一接收来自客户端的调用请求&#x…

Go语言常用类型互转方法归纳

前言 前文提到&#xff0c;Go基本数据类型有如下这些 布尔&#xff1a;bool 字符串&#xff1a;string 整数&#xff1a; int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 字节&#xff1a;byte &#xff0c;uint8 的别名 Unicode&#xff1a;rune &#xff0c;i…

嵌入式系统复习

概述 嵌入式系统复习–概述 ARM技术概述 嵌入式系统复习–ARM技术概述 ARM指令集 嵌入式系统复习–ARM指令集&#xff08;一&#xff09; 嵌入式系统复习–ARM指令集(二) Thumb指令集 嵌入式系统复习–Thumb指令集

基于python的selenium的所有方法

在写自动化测试脚本时&#xff0c;总会忘记某些方法的名称。所以将常用的方法做一个归纳。 下面的方法是基于python3.12.1, selenium 4.16.0。 #通过from ~ import语句导入Selenium WebDriver模块 from selenium import webdriver #导入common包中的by模块&#xff0c;用来写…

Go语言中的HTTP请求和响应处理

在Web开发中&#xff0c;HTTP请求和响应是核心的交互方式。Go语言&#xff0c;作为一种高效且现代的编程语言&#xff0c;为开发者提供了简洁、强大的工具来处理HTTP请求和响应。本文将简要介绍在Go语言中如何处理HTTP请求和响应。 在Go语言中&#xff0c;HTTP请求和响应的处理…

MySQL5.7InnoDB简介

官网地址&#xff1a;MySQL :: MySQL 5.7 Reference Manual :: 14.1 Introduction to InnoDB 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. MySQL 5.7 参考手册 / InnoDB 存储引擎 / InnoDB 简介 14.1 InnoDB…

[Linux c/c++] 关于进程名,线程名,/proc文件系统 等

参考&#xff1a; kernel - Why is the name of a process in /proc/PID/status not matching package name or ps command - Stack Overflowhttps://stackoverflow.com/questions/14176058/why-is-the-name-of-a-process-in-proc-pid-status-not-matching-package-name-or-ps…

Net framework3.5(包含.Net2.0/.Net3.0)(离线安装)

windows server 2012 r2&#xff0c;2010 r2 安装 Net framework3.5(包含.Net2.0/.Net3.0) 下载地址:Net framework3.5(包含.Net2.0/.Net3.0)(离线安装)

prometheus grafana redis安装配置监控

文章目录 前传安装redis-exporterredis_exporter参数配置参考配置prometheus查看promethues redis job节点grafana配置外传 前传 prometheus grafana的安装使用&#xff1a;https://nanxiang.blog.csdn.net/article/details/135384541 本文说下监控nginx&#xff0c;promethe…

OpenTiny 2023年度共建者榜单大曝光!!!

沐光而行&#xff0c;逐梦未来&#xff0c; 行至一载&#xff0c;归来仍是少年&#xff01; 新年已至&#xff0c; OpenTiny 感谢大家一年来的陪伴~ 这一年&#xff0c;OpenTiny 结识了很多开源共建者&#xff0c; 这一年&#xff0c;OpenTiny 被很多前端开发者认识&#…

k8s之pod的基础(下)

k8s的pod重启策略 Always deployment的yaml文件只能是Always pod的yaml三种模式都可以&#xff0c;不论正常退出还是非正常退出都重启 OnDailure&#xff1a; 只有状态码非0才会重启。正常退出是不重启的 Never 正常退出和非正常退出都不重启 容器的退出了&#xff0c;pod才…

H5C3练习心得 2024.01.04(鼠标悬停缩放效果)--box-shadow,font字体,文本样式

&#xff08;一&#xff09;box-shadow 1.作用 为盒子添加阴影 2.属性语法 box-shadow&#xff1a;h-shadow v-shadow blur spread color position h-shadow:水平阴影的的位置&#xff0c;允许负值&#xff08;必填&#xff09;v-shadow&#xff1a;垂直阴影的位置&#x…

揭秘Python的运算符:从加减乘除到幂次开方,一网打尽!

文章目录 一、python运算符二、运算符1.算术运算符1.1 加1.2 减1.3 乘1.4 除1.5 取模1.6 幂1.7 取整除 2.比较运算符2.1 等于2.2 不等于2.3 大于2.4 小于2.5 大于等于2.6 小于等于 3.赋值运算符3.1 加法赋值运算符3.2 减法赋值运算符3.3 乘法赋值运算符3.4 除法赋值运算符3.5 取…

vue-打包

打包的作用 说明&#xff1a;vue脚手架只是开发过程中&#xff0c;协助开发的工具&#xff0c;当真正开发完了>脚手架不参与上线 打包的作用&#xff1a; 1&#xff09;将多个文件压缩合并成一个文件 2&#xff09;语法降级 3&#xff09;less sass ts语法解析 打包后…

视频号小店全新赛道,新手如何入驻?

我是电商珠珠 视频号小店为视频号团队所研发。距今为止也才发展了一年时间&#xff0c;在23年下半年掀起了不小的浪花。 我做视频号小店也有一年时间了&#xff0c;在他刚开始三个月的时候&#xff0c;就开始带着团队一起做。到现在也拥有了自己的视频号小店运营团队&#xf…

【LeetCode每日一题】2487. 从链表中移除节点(调用栈+递归+翻转链表)

2024-1-3 文章目录 [2487. 从链表中移除节点](https://leetcode.cn/problems/remove-nodes-from-linked-list/)方法一&#xff1a;调用栈方法二&#xff1a;递归方法三&#xff1a;翻转链表 2487. 从链表中移除节点 方法一&#xff1a;调用栈 1.将所有节点按顺序压入栈中 2.从…