具有相同名称的命名参数

2023-12-22

我正在使用“caret”库对某些树进行一些交叉验证。

该库提供了一个函数,称为train,它接受一个命名参数“方法”。通过省略号,它应该让其他参数传递给它调用的另一个函数。这个另一个函数(rpart) 采用同名参数“方法”。

因此我想传递两个同名的参数......它显然失败了。我尝试解决如下所示的问题,但收到错误:

“train.default 中的错误(x = myx,y = myy,方法 =“rpart2”,preProcess = NULL,: 形式参数“方法”与多个实际参数匹配”

任何帮助深表感谢!谢谢!

train.wrapper = function(myx, myy, mytrControl, mytuneLenght, ...){
   result = train(
                        x=myx,
                        y=myy,
                        method="rpart2",
                        preProcess=NULL,
                        ...,
                        weights=NULL,
                        metric="Accuracy",
                        trControl=mytrControl,
                        tuneLength=mytuneLenght

                      )
   return (result)
 }
dtree.train.cv = train.wrapper(training.matrix[,2:1777], 
                               training.matrix[,1], 
                               2, method="class")

这是您的问题的模型tr(训练)函数调用rp(rpart) 函数,传递它...:

rp <- function(method, ...) method
tr <- function(method, ...) rp(...)

# we want to pass 2 to rp:
tr(method=1, method=2) # Error
tr(1, method=2)        # 1, (wrong value!)
tr(method=1, metho=2)  # 2 (Yay!)

这是什么魔法?为什么最后一个案例确实有效?!好吧,我们需要了解 R 中参数匹配的工作原理。函数f <- function(foo, bar)据说有形式参数“foo”和“bar”,以及调用f(foo=3, ba=13)据说有(实际)论点“foo”和“ba”。

R 首先匹配所有具有以下参数的参数exactly与形式参数同名。这就是为什么第一个“方法”参数被传递给train。两个相同的参数名称会导致错误。

然后,R 匹配任何部分匹配(但不匹配)形式参数的参数名称。但是,如果两个参数名称部分匹配相同的形式参数,也会导致错误。而且,它只匹配形式参数before ...。所以形式参数after ...必须使用他们的全名来指定。

然后,未命名的参数按位置顺序与其余的正式参数进行匹配。

最后,如果正式参数包括...,剩余的参数被放入....

PHEW!所以在这种情况下,调用tr完全匹配method,然后将其余的传递给.... When tr然后打电话rp, the metho参数部分匹配其形式参数method,一切都很好!

...Still,我会尝试联系作者train并指出这个问题,以便他能够正确解决!由于应该支持“rpart”和“rpart2”,所以他一定错过了这个用例!

我认为他应该重新命名method参数为method.或类似的东西(任何比“方法”长的东西)。这仍然是向后兼容的,但允许另一个method参数要正确传递给rpart.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有相同名称的命名参数 的相关文章

  • 在 r 中导出矩阵

    我想在 R 中导出一个矩阵 并保留行和列的名称 当我使用 write table 或 write csv 时 我得到一个带有新列的矩阵 我该如何使用这个功能 感谢您的帮助 您不会获得新列 行名称将保存为文本文件中的第一列 因此 您可以指定在
  • 计算一列中正数和负数的数量

    我想计算数据帧的一列中正值和负值的数量 我在 R 中该怎么做 例如 这里是数据框 logFC logCPM LR PValue FDR Bra15066 5 630822 5 184586 73 79927 8 647868e 18 4 0
  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 基于服务器中的条件逻辑呈现闪亮的用户输入

    我正在尝试设置一个闪亮的导航栏面板页面 其中用户控制我根据一组单选按钮中所做的初始选择来显示更改 我直接在 ui 中渲染单选按钮 然后在 Server r 中的 观察到的 逻辑控制结构内构建条件控件 弹出错误是因为我的初始 if 语句计算结
  • 将 Instagram/youtube 嵌入 Shiny R 应用程序

    我想通过点击图表来播放 Instagram 或 Youtube 视频 例如显示异常值等 到目前为止 明确告诉 Shiny 视频内容是有效的 require shiny require ggplot2 data df lt data fram
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • 计算每个唯一值出现的次数

    假设我有 v rep c 1 2 2 2 25 现在 我想计算每个唯一值出现的次数 unique v 返回唯一值是什么 但不返回它们的数量 gt unique v 1 1 2 我想要一些能给我的东西 length v v 1 1 25 le
  • 在shiny中过滤传单地图数据

    我在用传单地图设置这个闪亮的东西时遇到了麻烦 我的原帖 https stackoverflow com questions 50111566 applying leaflet map bounds to filter data within
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 如何计算R中移动窗口内的平均斜率

    我的数据集包含2个变量y 和 t 05s y 每 05 秒测量一次 我正在尝试计算移动中的平均坡度20秒窗口 即计算第一个 20 秒斜率值后 窗口向前移动一个时间单位 05 秒 并计算下一个 20 秒窗口 在以下位置生成连续 20 秒斜率值
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 在 r 中的 group_by 之后建模后取消列表列的嵌套

    我想对所有组进行线性回归group by 将模型系数保存在列表列中 然后使用 unnest 扩展列表列 这里我用的是mtcars以数据集为例 注 我想用do here becausebroom tidy 不适用于所有型号 mtcars gt

随机推荐

  • CoreMotion 在后台状态更新

    借助最新 iOS 设备中的 M7 芯片 当用户使用 CMMotionActivityManager 从静止状态变为跑步 行走等时 可以通过编程方式获得通知 Stava 和 Runkeeper 都用过这个自动暂停 GPS 轮询 http gi
  • 如何从另一个页面控制viewPages页面

    我有一个ViewPager共 3 页listView在每个页面中 我想要动画listView以某种方式 当用户水平滑动下一页时 listView应该根据下一页的宽度来 即第一个项目应该完全推入 第二个应该是可见的一半 口渴应该是第二个可见的
  • 如何在 Material UI 5 中使用 useTheme?

    我刚刚开始使用 Material UI 5 0 4 带有styled components 我想访问组件中的主题 我在网上查了一下 看到useTheme 所以我检查了文档并found it https mui com styles adva
  • 自动实例化会话bean?

    我有一个会话 bean
  • 是否可以通过电子邮件地址进行 XSS 攻击?

    我想知道电子 邮件地址是否可以用于XSS攻击 假设有一个网站 人们可以在其中注册并提供他的电子邮件地址 如果有人想要攻击给定的网站 他或她可能会创建一个电子邮件地址 例如 stmpname com 然后使用该电子邮件地址攻击该网站 电子邮件
  • 编写 lisp emacs 键绑定并且无法指定 字符

    由于某种原因 我将向后杀字的默认 M del 键绑定映射到匹配括号的扫描 并且重置不起作用 所以我尝试在 lisp 中设置全局键绑定 所以我在 emacs d init el 中编写了 lisp 命令 全局设置键 kbd M h 向后杀字
  • XSD 和 WSDL 位于不同的目录中

    在我的工作中使用 jaxws maven plugin 进行代码生成 我有两个项目分别是 common 和 client 结构大致如下 app common resource some xsd client resource some ws
  • 在 Blazor Web Assembly 应用中显示本地计算机摄像头源

    我已将问题简化为样板 Blazor Web Assembly 应用程序 该项目直接来自向导 添加了以下代码 我已将 Index razor 页面更改为 page inject IJSRuntime JSRuntime using Syste
  • 多设备混合应用程序中未指定 NodeJs 的路径

    当我尝试构建项目时 我收到一条错误消息 例如 NodeJs 的路径尚未指定 文件名为 Microsoft MDA target 如何在其中指定node js路径 错误消息是 尚未指定 NodeJs 的路径 请在构建之前检查 NodeJs 是
  • 错误:模板可能不是“虚拟”

    我希望能够向基类 MCFormater 提供适用于不同类型 uint32 uint8 的格式化方法 class MCFormater public MCFormater virtual MCFormater virtual mcc t Ge
  • 如何访问 Doctrine2 中 PrePersist LifecycleCallback 的旧值

    我在 Doctrine2 中有一个实体 并将 HasLivecycleCallbacks 与 PrePersist 一起使用 一般来说 这工作得很好 但我只想在实体中的某些字段发生变化时更改版本 我有机会获得旧的价值观吗 还是只是更改了键值
  • 我可以通过 ssh 转发环境变量吗?

    我使用多个不同的服务器 如果能够设置一些环境变量 以便当我通过 SSH 登录时它们在所有服务器上都处于活动状态 这将很有用 问题是 某些变量的内容包含敏感信息 散列密码 所以我不想把它留在 bashrc 文件中 我只想将它保留在内存中 我知
  • ThreeJS - 直线和球体的交点

    我的场景中有两个对象 一条红线和一个球体 当相机旋转 缩放 移动时 我需要检查以下内容 从相机当前位置看 该线是否与球体相交 请参见下图 请用这个 JS 小提琴 http jsfiddle net YxK63 7 在图像上创建场景 我知道如
  • Jekyll - 如何避免在 YAML frontmatter markdownify 项目上添加段落

    好的 我有一个项目 我正在使用 Jekyll 进行播客项目 我选择通过 YAML Front Matter 项目在 shownotes 中列出主机 hosts Name A Name B Name C 使用这段代码 li strong Ho
  • CSV 中数据提取末尾的尾随逗号

    我的问题的一些背景 我有一个由 MS Access 中的查询创建的 CSV 文件 CSV 文件的主体包含列 姓名 地址 邮政编码 日期等 文件的最后一行包含数据摘要 文件名 日期 时间戳和记录总数 由于所有字段都包含字符串 并且我们不希望系
  • Travis CI for Android - 构建错误:无法找到目标且无法找到依赖项

    我正在尝试为我的 Travis CI 设置现有的Android项目 https github com evercam evercam play android我添加了 travis yml language android android
  • 使用 Json.NET 对 DataContractJsonSerializer 使用的结构中的字典进行(反)序列化? [复制]

    这个问题在这里已经有答案了 有没有办法使用 Json NET 进行 反 序列化 但继续使用字典序列化约定DataContractJsonSerializer 换句话说 有没有办法以这种结构读写 JSON MyDict Key One Val
  • 当选项的值为“None”时动态确定选项的类型

    动态获取 Option 类型有一些困难 假设我有一个函数 let printType x if box x null then printfn the type is null else printfn the type is A x Ge
  • 简单:convertAndSendToUser 我在哪里获取用户名?

    在 Spring Boot 中 Websocket 我刚刚看到这个例子 messaging convertAndSendToUser username queue notifications new Notification You jus
  • 具有相同名称的命名参数

    我正在使用 caret 库对某些树进行一些交叉验证 该库提供了一个函数 称为train 它接受一个命名参数 方法 通过省略号 它应该让其他参数传递给它调用的另一个函数 这个另一个函数 rpart 采用同名参数 方法 因此我想传递两个同名的参