如何使用 R 中的 lm() 函数从回归中删除不显着的因子水平?

2024-01-18

当我在 R 中执行回归并使用类型因子时,它可以帮助我避免在数据中设置分类变量。但是如何从回归中删除不重要的因素以仅显示重要变量呢?

例如:

dependent <- c(1:10)
independent1 <- as.factor(c('d','a','a','a','a','a','a','b','b','c'))
independent2 <- c(-0.71,0.30,1.32,0.30,2.78,0.85,-0.25,-1.08,-0.94,1.33)
output <- lm(dependent ~ independent1+independent2)
summary(output)

得到以下回归模型:

Coefficients:
          Estimate Std. Error t value Pr(>|t|)   
(Intercept)     4.6180     1.0398   4.441  0.00676 **
independent1b   3.7471     2.1477   1.745  0.14148   
independent1c   5.5597     2.0736   2.681  0.04376 * 
independent1d  -3.7129     2.3984  -1.548  0.18230   
independent2   -0.1336     0.7880  -0.170  0.87203   

如果我想提取无关紧要的独立1水平(b,d),有没有办法可以做到这一点?

在这种情况下,将数据设置为具有分类变量很容易,但是当我包含周数或具有很多级别的其他因素时,它会变得不方便。

这是使用分类变量构建模型的方法。正如您所看到的,最终构建数据变得更加痛苦,但也给了我更多的控制权。

regressionData <- data.frame(cbind(1:10,c(-0.71,0.30,1.32,0.30,2.78,0.85,-0.25,-1.08,-0.94,1.33),c(0,1,1,1,1,1,1,0,0,0),c(0,0,0,0,0,0,0,1,1,0),c(0,0,0,0,0,0,0,0,0,1),c(1,0,0,0,0,0,0,0,0,0)))

names(output) = c('dependent','independent2','independenta', 'independentb','independentc','independentd')

attach(regressionData)

result <- lm(dependent~independent2+independentb+independentc+independentd)
summary(result)

现在我可以删除独立2,因为它无关紧要

result <- lm(dependent~independentb+independentc+independentd)
summary(result)

我将删除独立的,因为它并不重要

result <- lm(dependent~independentb+independentc)
summary(result)

但在这种情况下,调整后的 R 平方会下降(我什至不打算进行部分 F 检验),因为它很重要,但在许多情况下这是不正确的,我需要从回归中删除分类,因为它是吞噬在这种情况下很重要的自由度,并可能掩盖其他重要变量的值。


您可以使用以下选项删除因子变量的水平exclude:

lm(dependent ~ factor(independent1, exclude=c('b','d')) + independent2)

这样,因子 b、d 将不会包含在回归中。

Cheers

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

如何使用 R 中的 lm() 函数从回归中删除不显着的因子水平? 的相关文章

  • 在另一列的字符串中搜索一列中的文本

    这里是 R 新手 一直在搜索此论坛 尝试找到一种在同一行数据的字符串中搜索文本的方法 我以前使用过 grepl 但无法让它向下查找列并对每一行应用检查 我觉得这是一个简单的解决方案 但我花了几个小时 但似乎无法得到它 基本上我有类似下面第
  • 直接来自数据的马尔可夫模型图(makovchain 或 deemod 包?)

    我想读取一堆因子数据并从中创建一个可以很好地可视化的转换矩阵 我发现了一个非常好的软件包 称为 heemod 它与 diagram 一起工作得不错 对于我的第一个快速而肮脏的方法 我运行了一段 Python 代码来获取矩阵 然后使用这个 R
  • 在 R 中查找 Windows 用户名

    有没有办法在 R 会话中获取当前的 Windows 用户名或 Windows 主目录 Thanks 抱歉 如果我错过了什么 但我找不到任何东西 你可以做 Sys getenv USERNAME Sys getenv HOME 如果你只是输入
  • 如何在 R 中更新和重新编译 nlme 源代码

    我正在尝试更新 nlme 包 以便我可以在 gls 命令中使用大圆距离进行相关性 我正在尝试使用指定的更改来编辑源代码here http r 789695 n4 nabble com nlme spatial autocorrelation
  • 列表列表中出现的频率

    我有一个列表列表 其中每个列表都已排序 我想调查的是某个元素在特定位置出现了多少次 例如 pnc 曾两次出现在第二位 一次出现在第三位 我的数据结构如下 dput degree l list c schwab 0 pnc 0 0344827
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • 使用 ggplot 将条形图的列与线图的点对齐

    当线图的点与条形图的条具有相同的 x 轴时 有什么方法可以使用 ggplot 将它们对齐 这是我尝试使用的示例数据 library ggplot2 library gridExtra data data frame x rep 1 27 e
  • 如何删除括号内的值的行?

    我正在使用以下数据框 Name Height Eric 64 Joe 67 Mike 66 Nick 72 Dave 69 Steve 73 我想删除 名称 列以左括号 开头的所有行 因此最终的数据框如下所示 Name Height Eri
  • R 中自定义函数的等高线图

    我正在使用一些自定义函数 我需要根据参数的多个值为它们绘制轮廓 这是一个示例函数 我需要画这样的等高线图 任何想法 Thanks 首先你构造一个函数 fourvar它将这四个参数作为参数 在这种情况下 您可以使用 3 个变量来完成此操作 其
  • 基于多列重新编码数据框列[重复]

    这个问题在这里已经有答案了 如何根据其他列的值重新编码列 假设我有以下数据框 我想重新编码df Col3使得该值为 0 如果df Col1 x and df Col2 a gt df lt data frame a c rep x 3 re
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • 在前两个冒号上分割字符串

    我想在前两个冒号上拆分一列字符串 但不在任何后续冒号上拆分 my data lt read table text my string some data 123 34 56 78 100 87 65 43 21 200 a4 b6 c888
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a
  • R 比较所有列对的每个值[重复]

    这个问题在这里已经有答案了 我有一个 18x18 的数据框 我想将所有可能的列对相互比较 以便对于每对两列 18 行中的值相互比较 由于我的数据太大 无法放在这里 我写了一个小例子来说明到目前为止我所想到的 gt a lt c 1 18 g
  • 在 R 的 stargazer 表中设置注释格式

    我在用stargazer包来生成 回归输出 表 一切都在奇迹般地进行 直到我开始编辑笔记 First 换行很难 但是 Bryansuggests https stackoverflow com questions 21720264 star
  • 使用示例代码继续在 ggplot2 中遇到错误“loop_apply”未从当前命名空间(plyr)解析”

    我今天一直遇到这个错误 我已经从 github 下载了 plyr 但它仍然不起作用 安装 plyr 后 我重新启动了 R studio 甚至我的电脑 看来问题可能是由于 R 解析对外部 DLL 的引用的方式发生了变化 正如线程中途提到的he
  • 在 Microsoft Windows 上安装 RQuantLib

    我需要安装R包RQuantLib在 Microsoft Windows 计算机上 这个包没有二进制文件 所以我下载了 tar 源 我打开它 它包含 QuantLib C 库 所以我需要编译这个包 我不想安装 Visual Studio 我使
  • 如何将xtable对象放置在页面左侧

    问题 如何将 xtable 对象放置到页面左侧或如何全局禁用居中 我正在努力弄清楚如何将 xtable 对象放置在左侧 我有一个 Rmd 文件 所有这些都转到相关的 r 块 require xtable df lt data frame x
  • 三角形内的热图

    考虑以下示例 triangle lines lt data frame X c 0 0 1 1 0 5 0 5 Y c 0 0 0 0 1 1 grp c 1 2 1 3 2 3 df lt matrix c c 0 2 0 5 0 8 c
  • R 中的多面点阵图,例如线框:如何删除条带并添加 1 行字幕

    我使用这种功能 来自iris数据集 model test lt lm Sepal Length Petal Length Sepal Width Petal Width Species 2 data iris gg lt expand gr

随机推荐

  • Nexus 7 上不显示菜单按钮

    所以我很长时间都面临这个问题 我的 Nexus 4 和 Nexus 7 都运行 Android 4 3 并且我有 targetSdkVersion 11 的应用程序 我使用 11 因为任何低于 11 的目标 sdk 都不支持我的多点触控 问
  • IE 7 和 8 中的 CSS 倾斜转换

    我有菱形样式的菜单 它使用以下代码 它在 Chrome firefox ie9 等中运行良好 但我现在需要在 IE 7 和 8 中运行 有没有办法在这些旧版浏览器上执行此操作 http jsfiddle net C7e7U http jsf
  • Django 过滤外键字段

    简洁版本 我有一个用于食谱的 Django 应用程序 并且想要过滤要发送到我的视图中的模板的数据 我基本上希望特定用户添加的所有收据都作为上下文发送 以下过滤返回错误消息以 10 为基数的 int 的文字无效 我的用户名 recipes R
  • jquery旋转图像并将它们保存为同名文件(覆盖)?

    我有一个像这样的简单场景 我想旋转图像 并将它们保存为现有的旧文件 现在 所有功能都已完成 但是当我下载 保存图像时 它总是创建新的文件名 这是我的代码 div img src image a png alt div
  • Opencv 代码慢:有问题吗?

    这是我尝试改善图像颜色的函数 它有效 但真的很慢 也许有人有更好的主意 static Mat correctColor Mat AImage Mat copyImage AImage copyTo copyImage Mat imgLab
  • FileInputStream 和 FileOutputStream 在 Java 中如何工作?

    我正在阅读有关 java 中的所有输入 输出流的信息Java 教程文档 https docs oracle com javase tutorial essential io bytestreams html 教程作者使用这个例子 impor
  • 使用 EPPlus 设置下载位置

    我正在关注This http www c sharpcorner com Blogs 47619 export to excel using epplus aspxEPPlus 上的教程 但我对如何将下载位置设置为登录用户的 下载 文件夹感
  • 获取 ScriptHandlerFactory 处理程序

    有没有办法调用 System Web Script Services ScriptHandlerFactory 类的 GetHandler 方法 该方法返回 IHttpHandler 类型对象 我知道 ScriptHandlerFactor
  • 防止 pip 安装某些依赖项

    我们正在开发一个AWS LambdaPython 中 Alexa 技能的函数并使用pip安装ask sdk打包到我们的dist 目录 pip install t dist ask sdk 问题在于 t dist 因为pip想要在那里拥有所有
  • 使用 XSLT 重新排序 xml 元素

    我有以下 xml 片段 它出现在很多地方 但 TYPE 元素出现的顺序是随机的 此外 不保证所有类型都可用 例如某些片段可能缺少 Visio 和 或 Outlook 或任何其他节点
  • 在 Oracle 中生成具有 2 个日期之间的时间间隔的行

    我有一个表格 其中给出了周日到周六的 医生开始时间 和 结束时间 我想创建 15 分钟的时段 在此基础上 患者单击日历日期时间间隔 其中显示已预订的时段 以下示例显示如何将时间分成 15 分钟的片段 它使用分层查询 一点解释 line 2
  • 当我的动画完成时,transitionend 事件不会触发

    我正在尝试使用 jQuery 在 css 动画完成时触发一个事件 并且它基本上可以正常工作 但由于某种原因transitionend直到我将鼠标从有问题的对象上移开后 事件才会被调用 方法如下 function replaceWithSea
  • 结构类型别名/无联合的标记联合

    两人 或以上 structs Base and Sub有一个共同的第一个 未命名 struct 转换 投射是否安全Base to Sub反之亦然 struct Base struct int id char data necessary s
  • 如何防止 d3.drag().on('end' 触发 .on('click'

    我有一个 svg 元素 我希望能够单独单击和拖动 据我所知在 D3 中 单击会触发 拖动结束 事件 也可能拖启动 在下面的代码中 只需单击圆圈即可为其显示红色轮廓 var svg d3 select body append svg var
  • 如何记录未捕获的崩溃的回溯? [复制]

    这个问题在这里已经有答案了 我运行一个无头且无人值守的服务器 它将所有内容记录到远程服务器 我在那里运行的应用程序也通过SysLogHandler 效果很好 我遇到过程序崩溃的情况 在未由try except 我也想以这种方式记录回溯 这是
  • Janusgraph在.net core 3.0中使用Gremlin查询

    我们目前在 net core 3 0 应用程序中使用 gremlin net 库来连接到 Janusgraph db 我们需要在 janusgraph 中执行以下查询g V 12345 outE myedge has datetime lt
  • 从调用堆栈中获取函数名称

    我正在开发一个调用本机代码的 Android 程序 该本机代码存在段错误 并且由于通过 android NDK 进行调试实际上并不可行 因此我留下了如下所示的调用堆栈 从 ddms 捕获 我的问题是 是否有一些我可以在事后手动运行的东西 将
  • 无法连接到我自己的 MDF 文件。无法打开用户默认数据库。登录失败。用户登录失败...以及其他错误

    SQLSEXPRESS 服务正在运行 我有我前一段时间写的程序并且它有效 它是在 MS Visual Studio 中使用本地 MDF 文件编写的 如何从 Microsoft SQL Server Management Studio 编辑此
  • 为什么 Android 深层链接使我在 Whatsapp 上的链接在 Whatsapp 的应用程序内打开?

    我正在关注本教程 https developer android com training app links deep linking一步步在 Android 上进行深度链接 部分代码如下 基本上它会在我的应用程序的webview中打开u
  • 如何使用 R 中的 lm() 函数从回归中删除不显着的因子水平?

    当我在 R 中执行回归并使用类型因子时 它可以帮助我避免在数据中设置分类变量 但是如何从回归中删除不重要的因素以仅显示重要变量呢 例如 dependent lt c 1 10 independent1 lt as factor c d a