r 函数使用子集调用 lm

2024-04-26

我正在编写一些代码,我注意到一些奇怪的事情。 当我在某些面板数据的子集上运行 LM 时,它工作正常,如下所示:

library('plm')
data(Cigar)
lm(log(price) ~ log(pop) + log(ndi), data=Cigar, subset=Cigar$state==1)

Call:
lm(formula = log(price) ~ log(pop) + log(ndi), data = Cigar, 
subset = Cigar$state == 1)


Coefficients:
(Intercept)     log(pop)     log(ndi)  
  -26.4919       3.2749       0.4265  

但是当我尝试将其包装在函数中时,我得到:

myfunction <- function(formula, data, subset){
  return(lm(formula, data, subset))
}

myfunction(formula = log(price) ~ log(pop) + log(ndi), data = Cigar, subset = Cigar$state==1)

Error in xj[i] : invalid subscript type 'closure'

我真的不明白这里发生了什么,但它破坏了我编写的其他一些代码,所以我想知道。


问题似乎不在于子集。当我更改为时,我从你的函数中得到同样的错误subset = (state == 1)。您的函数的参数未正确传递和评估。

我认为你最好使用do.call

myfunction <- function(formula, data, subset) {
    do.call("lm", as.list(match.call()[-1]))
}

myfunction(log(price) ~ log(pop) + log(ndi), Cigar, state == 1)    
# Call:
# lm(formula = log(price) ~ log(pop) + log(ndi), data = Cigar, 
#     subset = state == 1)
#
# Coefficients:
# (Intercept)     log(pop)     log(ndi)  
#    -26.4919       3.2749       0.4265  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

r 函数使用子集调用 lm 的相关文章

  • fread、data.table中的小数点设置

    我想使用 data table 中的 fread 但收到与小数点相关的警告 此处为 而不是 通常我使用 但在某些情况下我必须导入以 作为小数点的文件 在 read csv 中我可以设置小数点分隔符 df lt read csv mydata
  • 创建因子时设置级别与 `levels()<-`

    让我们首先创建一些因素 F1 lt factor c 1 2 20 10 25 3 F2 lt factor paste0 F1 years F3 lt F2 levels F3 lt paste0 sort F1 years F4 lt
  • 使用整洁的评估语义通过字符向量进行 group_by

    我曾经这样做过 使用group by library dplyr group by lt c cyl vs mtcars gt group by dots group by gt summarise gear mean gear but n
  • C++:初始化结构体并设置函数指针

    我正在尝试使用函数指针初始化结构 但是除非使用全局函数完成 否则我很难这样做 以下代码有效 float tester float v return 2 0f v struct MyClass Example typedef float My
  • RMarkdown:浮动目录和开头目录

    我想知道是否可以在文档开头有一个浮动目录和另一个浮动目录 我目前的首要任务如下 title TEST author brettljausn date January 15 2018 output html document toc true
  • 使用 R 将数据写入 netCDF 文件

    我正在尝试使用我自己的 csv 文件中的数据来使用 R 包 ncdf4 创建 netCDF 文件 我的数据集由 3 列组成 经度 纬度和温度 有 2592 行 我一直按照包中的建议将维度和变量添加到 netCDF 文件中 一切都很顺利 直到
  • python函数返回函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 或 C++ 中返回结构是否安全?

    我的理解是不应该这样做 但我相信我已经看到过这样做的示例 注意代码不一定在语法上正确 但想法就在那里 typedef struct int a b mystruct 然后这是一个函数 mystruct func int c int d my
  • 使用 rmultinom() 函数从 R 中的多项分布生成随机数

    我想从具有三个值的多项分布生成大小为 20 的样本 例如1 2 and 3 例如 样本可以是这样的sam 1 2 2 2 2 3 1 1 1 3 3 3 2 1 2 3 1 下面的代码可以工作 但没有得到预期的结果 gt rmultinom
  • magrittr 三通管 %T>% 当量

    我正在查看文档中 magrittr 三通管 T gt 的示例 但我并没有立即明白它在做什么 有人可以展示没有三通管的等效代码是什么吗 rnorm 200 gt matrix ncol 2 T gt plot gt plot usually
  • 运行命令后存在来自 rocker/r-ver:4.0.4 的容器

    这是我的 Dockerfile FROM rocker r ver 4 0 4 在 cmd 中我构建 docker build t myfolder myimage 它塑造的形象很好 然后我跑 docker run myfolder myi
  • 在 R 中使用 Stargazer 进行多个回归中的虚拟变量

    我正在尝试使用 R 中的 Stargazer 包创建一个回归表 我有几个仅在虚拟变量上有所不同的回归 我希望它报告自变量 常数等的系数 并在回归中包含某些固定效应 即虚拟变量 时说 是 或 否 这些是我的回归 iv1 lt ivreg da
  • 设置rgl设备的大小

    我的 rgl 设备的全屏 非全屏有问题 目前我使用R 3 00 我将 persp3d 图 库 rgl 绘制到我的设备中 它在一个非常小的窗口中打开 R代码 persp3d x y z theta 50 phi 25 expand 0 75
  • XTS to.weekly 返回不同的每周端点

    我有一个问题endpoints 函数于xts 还有to weekly函数 使用端点 有时返回星期五作为周末 有时返回星期一 我的数据集叫做sp2 gt head sp2 1 2012 01 09 1 78 2012 01 10 1 78 2
  • MICE LoggedEvents 是什么意思?

    我正在尝试使用以下方法运行多重插补miceR 中的函数 来自同名包 我收到一条警告 表明事件已被记录 这是输出mice loggedEvents来自我的 MWE 见下文 it im dep meth out 1 1 X pmm H 我不确定
  • R xts:毫秒索引

    如何创建索引包含毫秒的 xts 对象 我在 POSIXlt 帮助页面中找不到任何格式规范 但有一个参考 https stackoverflow com questions 4295407 display time index in r xt
  • Ifelse 只返回列表的第一个元素

    我有两个清单 list1 lt list x c 1 2 3 y c 4 5 6 list1 x 1 1 2 3 y 1 4 5 6 list2 lt list x c 1 2 3 y c 4 5 6 z c 7 8 9 list2 x 1
  • 将选择标准添加到 read.table

    让我们采用以下我导入的数据集的简化版本read table a lt as data frame c M M F F F b lt as data frame c 25 22 33 17 18 df lt cbind a b colname
  • as.data.frame 将嵌套列表展平为单行,而不是为每个记录创建行[重复]

    这个问题在这里已经有答案了 我有一个嵌套列表 如下所示 mylist lt vector list 2 mylist 1 name lt The Tucson IOT Meetup Group mylist 1 state lt AZ my
  • == 在 R 中,精度为 .Machine$double.eps [重复]

    这个问题在这里已经有答案了 在 R 中 我发现必须转换易于阅读的代码有点烦人 例如 if det A 1 not always working because of floating point precision to if abs de

随机推荐

  • 如何使用 core.async 在 Clojure 中写入日志文件?

    我想使用 core async 作为写入文件的记录器 因此我创建了一个 test txt 文件 将其粘贴在我的资源文件夹中并编写了以下代码 use clojure java io use clojure core async def pri
  • 在仍然有许多活动事务的情况下执行 pg_dump

    作为主题 当数据库中仍然有许多活动事务时 备份文件会发生什么情况 它导出实时还是仅导出部分备份 提前致谢 pg dump 在可序列化事务中运行 因此它会看到数据库的一致快照 包括系统目录 但是 如果有人在转储启动时执行 DDL 更改 则可能
  • 添加两个 2D NumPy 数组,忽略其中的 NaN

    将 numpy nan 作为缺失值添加 2 个 numpy 数组 a 和 b 均为 2D 的正确方法是什么 a b or numpy ma sum a b 由于输入是二维数组 因此您可以将它们沿第三轴堆叠np dstack http doc
  • 在 Mac OS X 上使用 pip 安装 pyopencv

    我正在尝试在 OS X Mountain Lion 中使用 pip 安装 pyopencv 但导入 setuptools 失败 以下是我的作品 setuptools中的 库 是什么 我以前没见过 我已经通过 homebrew 和其他东西安装
  • 更改 Oracle 11g 或 12c 中的表/列/索引名称大小

    我使用oracle 11g并且需要名称大小大于30个字符 我知道11g中的最大大小是30个字符 我可以更改这个最大尺寸吗 Oracle 12c 中表 列 索引名称的最大大小是多少 数据库对象名称位于11g https docs oracle
  • RDS不支持创建以下组合的数据库实例

    我正在尝试弄清楚如何创建一个简单的数据库实例 到目前为止我只有一个DBSubnetGroup and DBInstance 此时 根据我尝试使用模板 在 Designer 中创建 创建堆栈时遇到的错误 我已经弄清楚了一些事情 我现在遇到了一
  • 在Python中写入文件之前如何确保文件存在或可以创建?

    我正在编写一个函数 我希望它能够touch一个文件 以便我可以写入该文件 如果该文件不存在 我会收到错误消息 我怎么能这么说呢 只需打开要写入的文件 如果该文件不存在 则会创建该文件 假设您具有写入该位置的适当权限 f open some
  • 使用 css 和 javascript 在 div 背景中创建透明窗口

    我正在尝试在网页中实现效果 网页必须完全被带有透明窗口的背景覆盖 该窗口基本上会突出显示页面的某些页面以吸引用户的注意力 窗口的大小事先是未知的 效果必须在前端实现 所以我可以自由地使用html css和js 我不知道如何仅使用 css 来
  • 英特尔® 事务同步扩展新指令 (TSX-NI) 与英特尔 TSX 有何不同?

    我在Intel的页面上找到了 https ark intel com products 97123 Intel Core i5 7500 Processor 6M Cache up to 3 80 GHz https ark intel c
  • ASP.NET 网站管理工具未知错误 ASP.NET 4 VS 2010

    我正在关注MVCMusic http mvcmusicstore codeplex com 使用具有完整 sql server 2008 r2 的机器的教程 和完整的视觉工作室专业 在ASP NET 4 0当我到达设置会员资格的页面 靠近第
  • Cordova 图像选择器转换为 base64

    我在将图像转换为使用以下命令选择的 base64 格式时遇到问题ngCordova 图像选择器 http ngcordova com docs plugins imagePicker 为了简单起见 Cordova 网站上提供的代码 有效 是
  • Swift 3 上的通知中心问题[重复]

    这个问题在这里已经有答案了 我正在学习 Swift 3 并且正在尝试使用NSNotificationCenter 这是我的代码 func savePost let postData NSKeyedArchiver archivedData
  • 来自嵌套列表的嵌套字典

    我有嵌套列表 例如 A A1 A1 B C B B1 B2 B1 b1 b2 b3 B2 d1 d2 d3 d4 C C1 C2 C3 C1 a1 a2 a3 C2 n1 n2 n3 n4 C3 x1 x2 x3 x4 我想创建嵌套字典 例
  • 使用标记类来控制逻辑流程

    我一直在查看一些代码 发现我的一位同事正在使用 标记类 来控制程序逻辑 请参阅下面的人为示例 它似乎工作得很好 代码读起来也很好 但它只是有一些味道 namespace ConsoleApplication4983 public class
  • XCode 4.2 + Iphone 3g 无法运行应用程序

    当我创建一个普通的 Phonegap 应用程序并尝试在装有 IOS 4 2 的 iPhone 3g 上运行它时 它无法运行 IOS 部署目标设置为 4 0 并且一切都构建成功 这一切都是在我使用 IOS SDK5 安装 XCode 4 2
  • 如何在 Laravel 中实现数组类型路由?

    我正在尝试在 Laravel 5 8 中实现数组类型路由 这是我尝试过的 Route get myroute MyController index Route get myroute MyController index Route get
  • sklearn中score和accuracy_score的区别

    有什么区别score 中的方法sklearn naive bayes GaussianNB 模块和accuracy score中的方法sklearn metrics模块 两者看起来都是一样的 那是对的吗 一般来说 不同的模型具有返回不同指标
  • Cat 文件与 HDFS 中的模式不匹配?

    我正在尝试 cat 与 hadoop HDFS 中的以下模式不匹配的文件 hdfs dfs cat gz 如何捕获所有不以 gz 结尾的文件 编辑 抱歉 但我需要在 Hadoop 中管理文件 显然 hdfs 附带的命令非常少 编辑2 所有文
  • 使用 Javascript、Jquery 或 HTML5 Canvas 进行无限缩放

    我见过这个 宇宙的规模2 http htwins net scale2 我只是想知道这是否可以使用 javascript 或 jQuery 或 HTML5 Canvas 来完成 如果您单击一个项目 例如 人类 它旁边会弹出一条信息 我在这里
  • r 函数使用子集调用 lm

    我正在编写一些代码 我注意到一些奇怪的事情 当我在某些面板数据的子集上运行 LM 时 它工作正常 如下所示 library plm data Cigar lm log price log pop log ndi data Cigar sub