将函数参数传递给公式

2024-07-01

我试图理解为什么

foo = function(d,y,x) {
    fit = with(d, lm(y ~ x))
}
foo(myData, Y, X)

不起作用,例如

myData = data.frame(Y=rnorm(50), X=runif(50))

对我来说似乎棘手的一点是传递参数x and y到一个公式,如lm(y ~ x).


@DMT 的回答很好地解释了发生的事情。

如果您希望事情按预期进行,则需要克服以下障碍:

lmwrap <- function(d,y,x) {
    ys <- deparse(substitute(y))
    xs <- deparse(substitute(x))
    f <- reformulate(xs,response=ys)
    return(lm(f,data=d))
}
mydata <- data.frame(X=1:10,Y=rnorm(10))
lmwrap(mydata,Y, X)

或者,如果将列名称作为字符串而不是符号传递,则可以稍微简化。

lmwrap <- function(d,y,x) {
    f <- reformulate(xs, response=ys)
    return(lm(f, data=d))
}
lmwrap(mydata, "Y", "X")

这种方法会有点脆弱,例如如果您通过另一个函数传递参数。另外,读取公式的“调用”部分Y~X需要更多的诡计...

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

将函数参数传递给公式 的相关文章

  • multidplyr :将函数分配给集群

    参见下面的工作解决方案 我想使用 multidplyr 并行化函数 calculs R f lt function x return x 1 main R library dplyr library multidplyr source ca
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • 在 R 中将数组转换为矩阵

    我有一个数组 其中包括名为 comp 的项目 是 否 的两个熟练度变量 theta0 theta1 这需要转换为一个矩阵 有什么方法可以转换像底部那样的矩阵吗 我的数组如下所示 gt priCPT i6 comp Yes theta1 th
  • 如何引用基于 data.frame 中的变量的列表?

    我有一张简单的桌子emp id and job code 我想返回正确的payout基于job code 我已经用嵌套的 ifelse 来解决这个问题 但是如果我有更多怎么办job code s library dplyr set seed
  • 带有预先计算值的 geom_boxplot

    过去 我已经能够使用 ggplot2 创建箱线图 方法是提供下须线 下分位数 中位数 上分位数和上须线以及 x 轴标签 例如 DF lt data frame x c A B min c 1 2 low c 2 3 mid c 3 4 to
  • 在 R 中创建多维 NetCDF

    我正在尝试使用 R 包创建多维 NetCDF 文件ncdf http cran r project org web packages ncdf index html 我正在对一组 1500 个点进行气候日常观测 每个点的观测数量约为 182
  • 将字符拆分为字母和数字

    我有一个独特的角色 每个字母后面都有一个数字 例如 A1B10C5 我想把它分成letter lt c A B C and number lt c 1 10 5 使用 R 我们可以使用正则表达式查找来分割字母和数字 v1 lt strspl
  • 绘制 VGLM 多项 Logistic 回归(置信区间为 95%)

    我想绘制多项逻辑回归的预测值vglm 函数在VGAM包裹 重要的是我使用VGAM因为我正在尝试复制同事在 Stata 中进行的分析 这是我使用此函数 包实现的 数据的子集 structure list caretime3 c 0 2 2 0
  • R 中的波形符(~) 运算符

    根据 R 文档 运算符在公式中用于分隔公式的右侧和左侧 右侧是自变量 左侧是因变量 我了解 lm 包中何时使用 然而以下是什么意思呢 x 1 右边是1 什么意思 可以是除 1 之外的任何其他数字吗 From lm 拟合线性模型时 y x 1
  • TabsetPanel 未在 Shiny 中填充整个页面

    我正在尝试创建一个使用 tabsetPanel 的闪亮应用程序 但是当我创建选项卡时 应用程序中的内容不再填充窗口的整个空间 并在输出的右侧和下方留下大的白色间隙 下面是一个非常基本的例子 如果没有选项卡 应用程序可以完美地作为一个流畅的页
  • 从任何统计测试中获取单个值(例如,从 cor.test 中获取 Spearman rho 的值)

    R 中的统计测试输出许多描述 虽然它们很有用 但我们如何才能输出或提取单个值 gt cor test x y method spearman exact F Spearman s rank correlation rho data x an
  • 如何将两个矩阵的列与所有组合相乘

    我喜欢将具有相同行的两个矩阵的列的所有可能组合相乘 这意味着两个矩阵 例如a 3x3 and b 3x4 将生成带有元素的 3x4 矩阵a i j a k j i and k表示从 1 到 3 的行 并且j代表从 1 到 4 的列 我创建了
  • 使用具有聚类数据的小鼠进行插补

    所以我正在使用mice用于估算缺失数据的包 我是插补新手 所以我已经到了一定程度 但遇到了陡峭的学习曲线 举一个玩具例子 library mice Using nhanes dataset as example df1 lt mice nh
  • 使用 ggplot2 将抖动应用于箱线图中的异常值数据

    您知道如何将抖动仅应用于箱线图的异常值数据吗 这是代码 ggplot data a aes x y a V8 geom boxplot outlier size 0 5 geom point data a aes x y a V8 54 c
  • 风玫瑰与 ggplot (R)?

    我正在寻找使用 ggplot2 来创建的良好 R 代码 或包 风玫瑰 http en wikipedia org wiki Wind rose显示风的频率 强度和方向 我对 ggplot2 特别感兴趣 因为以这种方式构建绘图使我有机会利用其
  • 在 dplyr 中重命名列时进行整洁的评估

    我正在尝试使用动态重命名数据框中的单个列rename 与整齐的评价语法发布于dplyr v0 7 0 https blog rstudio com 2017 06 13 dplyr 0 7 0 来自 rename帮助页面上 我找到了以下示例
  • R 中逻辑回归建模的子集化

    在 R 中的逻辑回归过程中分割和子集数据时 我收到以下错误消息 我陷入了 子集 步骤 library caTools split lt sample split df1 SplitRatio 0 5 split training lt su
  • R:需要用正则表达式替换不可见/重音字符

    我正在处理从具有不同区域设置的几台不同机器生成的文件 因此我最终得到了一列数据框 其中同一单词具有不同的文字 C RDOBA C RDOBA C RDOBA 我想将所有这些转换为CORDOBA 我试过做 t lt gsub O t igno
  • 从 R 运行 XQuery 的方法

    我知道 R 中的 xml2 包可以对 XML 文档运行 XPath 查询 我想知道是否有一种方法 一个包 可以在XQuery https www w3 org TR xquery 来自 R 的语言 None
  • 使用 auto.key 在晶格中符号填充颜色

    我正在使用一个情节xyplot in lattice R 15 2 格子 0 20 13 其中我想通过标记的形状来区分几个组 我需要使用一个向下的三角形 它只能作为空心符号使用 pch 25 与向上三角形不同 向上三角形可用作填充 pch

随机推荐

  • Python Pandas:使用 groupby() 和 agg() 时顺序是否保留?

    我经常使用熊猫 agg 函数对 data frame 的每一列运行摘要统计 例如 以下是生成平均值和标准差的方法 df pd DataFrame A group1 group1 group2 group2 group3 group3 B 1
  • 如何在 kubernetes 中“部署”而不进行任何更改,只是为了让 pod 循环

    我正在尝试做的事情 Pod 中运行的应用程序在启动时会刷新其数据文件 每次我想刷新数据时都需要重新启动容器 刷新可能需要几分钟 所以我有一个探针检查准备情况 What I think是一个解决方案 我将运行一个预定的工作 http kube
  • CVS 只读签出

    我必须在项目中使用CVS 到目前为止 在我的整个工作生涯中 我只使用过 perforce 而且我对 CVS 一无所知 我阅读了整个 CVS 手册 但找不到如何执行此操作 在perforce中 当你签出一个文件时 你首先必须执行p4 edit
  • C# 参数隐式转换

    有这个代码 class Program static void Main string args Check 3 Console ReadLine static void Check int i Console WriteLine I am
  • Python中字典转小写

    我希望这样做 但为了一本字典 My string lower 是否有内置函数或者我应该使用循环 您将需要使用循环或列表 生成器理解 如果你想将所有的键和值都小写 你可以这样做 dict k lower v lower for k v in
  • 为什么 Sequence 是 mypy 中 + 不支持的操作数类型?

    mypy给出一个错误Sequence str 不是受支持的操作数类型 操作员 test py from typing import Sequence def test x Sequence str y Sequence str gt Seq
  • React + Redux 中的多个/批量删除

    我有一个允许多重选择和删除功能的数据网格 我的 api 有一个删除端点 DELETE http localhost 8888 api audit id 这就是动作创建者 export function deleteAudit audits
  • 使用 mqtt 协议和 kafka 作为消息代理

    我们如何使用 mqtt 协议和 kafka 作为消息代理 客户端 android ios 桌面 java 应用程序等 将使用 mqtt phao 客户端库生成和使用消息 这些客户端库可使用 kafka 作为消息代理以不同语言提供 有什么建议
  • Python,针对频繁模式的网络日志数据挖掘

    我需要开发一个用于网络日志数据挖掘的工具 由于在特定用户会话中请求了许多 url 序列 从 Web 应用程序日志中检索 我需要找出网站用户的使用模式和组 集群 我是数据挖掘的新手 现在经常检查谷歌 发现一些有用的信息 即查询似乎指向几乎完全
  • Electron v4 支持 ECMAScript 模块吗?

    我正在使用 Electron 编写应用程序 当前版本 4 0 6 基于 Node 10 11 0 和 Chrome 69 0 3947 106 我认为最新版本的 Electron 将支持 ECMAScript ES6 模块 但到目前为止我还
  • Jenkins 管道脚本未运行

    对于下面的管道脚本 Helo World 未打印 甚至节点也没有被分配 pipeline agent any stages stage Example steps echo Hello World 安装了 Pipeline Declarat
  • 为什么当缩放改变时,具有相同高度的元素“看起来”不同?

    基本上 要点就在主题中 当我创建两个具有固定高度 2px 的相同 div 并将缩放更改为 75 或 125 时 由于某种原因它们 看起来 不同 有人可以解释一下这里发生了什么吗 我该如何解决这个问题 gradient slider line
  • 当我使用 iText 从 PDF 文件中提取文本时,我从前一页获取值

    我正在尝试从多页 PDF 文件中每个页面的特定位置提取文本块 我知道文本的位置 并且能够在第一页上正确提取它 然而 在第一页之后的页面上 提取的文本似乎正在累积 例如 如果第 1 页上的文本值为 A 第 2 页为 B 第 3 页为 C 那么
  • 如何使用 scipy.spatial.Delaunay 查找 delaunay 三角剖分中给定点的所有邻居?

    我一直在寻找这个问题的答案 但找不到任何有用的东西 我正在使用 python 科学计算堆栈 scipy numpy matplotlib 并且我有一组二维点 我为其计算 Delaunay 训练 wiki https en wikipedia
  • Python 中的双 SSH 隧道

    今天 我在命令行中使用 ssh 将端口从远程服务器转发 使用中间服务器到我的本地计算机 这是我在 shell 中使用的命令 ssh user remote server L 2443 localhost 433 此 ssh 会话使用 ssh
  • 如何将组添加到多个内置功能区选项卡 (vsto)?

    这是 VS2010 Office 2010 加载项 我想要的只是添加一个按钮 或按钮组 到多个内置选项卡 例如 我的按钮应该在两个中都可用新邮件消息功能区 and in 新预约丝带 我尝试添加一个新选项卡 在视觉设计器中 但这似乎不起作用
  • 使用本地文件作为

    是否可以使用用户硬盘中的音频文件作为srcHTML5 的属性
  • 未知的 UTF-8 代码单元闭合双引号

    我的问题如下 我正在读取一个 XML 文件 其文本节点部分包含 UTF 8 版本的打开和关闭双引号 文本被提取 缩短为 3999 字节并放入新的 XML 格式 然后保存为文件 虽然 Notepad 在输入文件中正确显示了这两个符号 但输出文
  • d3.js 结合分层边缘捆绑和径向 Reingold–Tilford 树 + 数据

    我想 某种程度上 结合分层边缘捆绑 http bl ocks org mbostock 7607999和径向 Reingold Tilford 树 http bl ocks org mbostock 4063550 It would loo
  • 将函数参数传递给公式

    我试图理解为什么 foo function d y x fit with d lm y x foo myData Y X 不起作用 例如 myData data frame Y rnorm 50 X runif 50 对我来说似乎棘手的一点