在 R 中使用线性回归填充 NA

2023-12-10

我有一个包含一个时间列和 2 个变量的数据。(下面的示例)

df <- structure(list(time = c(15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 
                              25, 26), var1 = c(20.4, 31.5, NA, 53.7, 64.8, NA, NA, NA, NA, 
                              120.3, NA, 142.5), var2 = c(30.6, 47.25, 63.9, 80.55, 97.2, 113.85, 
                              130.5, 147.15, 163.8, 180.45, 197.1, 213.75)), .Names = c("time", 
                              "var1", "var2"), row.names = c(NA, -12L), class = c("tbl_df", 
                              "tbl", "data.frame"))

var1 的 NA 很少,我想用 var1 和 var2 中剩余值之间的线性回归来填充 NA。

请帮忙!! 如果您需要更多信息,请告诉我


这是一个使用的示例lm预测 R 中的值。

library(dplyr)

# Construct linear model based on non-NA pairs
df2 <- df %>% filter(!is.na(var1))

fit <- lm(var1 ~ var2, data = df2)

# See the result
summary(fit)

# Call:
#   lm(formula = var1 ~ var2, data = df2)
# 
# Residuals:
#   1          2          3          4          5          6 
# 8.627e-15 -2.388e-15  1.546e-16 -9.658e-15 -2.322e-15  5.587e-15 
# 
# Coefficients:
#   Estimate Std. Error   t value Pr(>|t|)    
# (Intercept) 2.321e-14  5.619e-15 4.130e+00   0.0145 *  
#   var2        6.667e-01  4.411e-17 1.511e+16   <2e-16 ***
#   ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 7.246e-15 on 4 degrees of freedom
# Multiple R-squared:      1,   Adjusted R-squared:      1 
# F-statistic: 2.284e+32 on 1 and 4 DF,  p-value: < 2.2e-16
# 
# Warning message:
#   In summary.lm(fit) : essentially perfect fit: summary may be unreliable

# Use fit to predict the value
df3 <- df %>% 
  mutate(pred = predict(fit, .)) %>%
  # Replace NA with pred in var1
  mutate(var1 = ifelse(is.na(var1), pred, var1))

# See the result
df3 %>% as.data.frame()

#    time  var1   var2  pred
# 1    15  20.4  30.60  20.4
# 2    16  31.5  47.25  31.5
# 3    17  42.6  63.90  42.6
# 4    18  53.7  80.55  53.7
# 5    19  64.8  97.20  64.8
# 6    20  75.9 113.85  75.9
# 7    21  87.0 130.50  87.0
# 8    22  98.1 147.15  98.1
# 9    23 109.2 163.80 109.2
# 10   24 120.3 180.45 120.3
# 11   25 131.4 197.10 131.4
# 12   26 142.5 213.75 142.5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中使用线性回归填充 NA 的相关文章

  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 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 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • 在 R 中绘制 Likert 变量的堆积条形图

    假设我有一个如下所示的数据框 P Q1 Q2 1 1 4 1 2 2 3 4 3 1 1 4 其中的列告诉我哪个人相应地回答了问题 q1 q2 中的哪一个 这些问题需要按照 4 分李克特量表进行回答 例如 批准 表示 1 稍微批准 表示 2
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • 在 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 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 旋转 Markdown 的表格 pdf 输出

    我想将 pdf 上的表格输出旋转 90 度 我正在使用 Markdown 生成报告并kable循环显示表格 如果可以的话我想继续使用kable因为还有很多其他依赖于它的东西我没有包含在这个 MWE 中 这是一个简单的例子 使用iris数据集
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • R:如何获取该月的周数

    我是 R 新手 我想要该日期所属月份的周数 通过使用以下代码 gt CurrentDate lt Sys Date gt Week Number lt format CurrentDate format U gt Week Number 3
  • R 中用于调用 sed、rsync、ssh 等的 system() 的替代方案:函数是否存在,我应该编写自己的函数,还是我错过了重点?

    最近 我发现了base files命令 与其他命令一起使用 例如getwd write lines file show dir等等 似乎有许多 bash 函数的 R 等价物 我还在 R 中编写了一些函数来简化对ssh and rsync通过
  • R“错误:“}”中出现意外的“}”[重复]

    这个问题在这里已经有答案了 我有一个字符串变量 对于缺少数据的情况 它具有 空值 我想将 空值 重新编码为缺失 而不是说 空值 我正在尝试编写一个循环来删除这些 空值 条目 但我不断收到错误 错误 中出现意外的 for row in dat
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输

随机推荐

  • 从 vb.net 中的命令行获取参数

    是否可以从返回参数processPath在这个例子中 抱歉 这可能更有意义 Dim processName As String Dim processPath As String If processName cmd Then Dim ar
  • IBM MQ 会话断开连接

    我正在创建一个像这样的 MQ 侦听器 它工作正常 但几分钟或几小时后就会因此异常而断开连接 我不控制服务器 这是通过专用电路而不是互联网进行的 我怀疑是网络问题其他服务在同一线路上运行没有问题 MQQueueConnectionFactor
  • CSS:显示:内联块和定位:绝对

    请考虑以下代码
  • 使用C#在远程计算机上执行powershell脚本

    我使用 Microsoft Bot Framework 创建了一个 Bot 应用程序 并希望实现以下目标 无需任何身份验证即可在远程计算机上执行 Powershell 脚本 powershell 脚本将托管在 Azure 或数据库 可能是任
  • 将 CamelCase 转换为 Snake_Case

    需要以下查询的结果 select regexp replace StackOverflow something something as stack overflow 以下正则表达式在每个大写字母前面添加下划线 regexp replace
  • 在seaborn中绘制两列dataFrame

    我正在尝试在seaborn中创建一个条形图 显示数据框中每行 因子 的两个变量 权重 方差 的值 我的数据如下 Factor Weight Variance Growth 10 0 15 Value 20 0 35 这是我的代码 fig p
  • UICollectionView 的可重用性问题

    我曾与UITableView但我从来没有用过UICollectionView在我的应用程序中 所以我想创建UICollectionView以编程方式 以下是我的代码 UICollectionViewFlowLayout layout UIC
  • 常见的 Linq / 标准查询操作符错误/错误步骤?

    对于没有函数式编程背景的程序员来说 有什么错误是需要避免的吗 人们容易犯的最大错误是误解 LINQ 查询的惰性和评估规则 查询是惰性的 在您迭代它们之前它们不会被执行 This does nothing No query executed
  • boost::unique_lock::timed_lock 的用法

    升压 定时锁 void wait int seconds boost this thread sleep boost posix time seconds seconds boost timed mutex mutex void threa
  • 为什么 gcov 报告使用良好的类的头文件覆盖率为 0%?

    我第一次尝试使用以下方法来测量测试覆盖率gcov 现在我已经过了最初的学习曲线 除了一个小障碍之外 一切似乎进展顺利 我希望这可以归结为我缺乏理解 所以我希望熟悉 gcov 的人能够解释发生了什么 问题是我有一个特定的头文件显示 0 覆盖率
  • Go 变量被覆盖(bug?)

    这里有点奇怪 我的问题是 人们运行我的代码会得到与我相同的结果吗 如果你这样做 这是我的代码的错误 我通常是一个Python程序员 还是golang中的错误 系统信息 Go 版本 1 1 2 Linux x64 fedora 19 代码的背
  • Java组合框摆动[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我的表有两个字段 ProductID Primary Key ProductName duplicate values will be present 我已经脸红了productNam
  • 将字符串转换为 DateTime 对象

    我想将特定格式的字符串转换为DateTime 我的具体字符串格式是 dd mm yyyy 我无法进行任何字符串操作 这是我现在的代码 DateTime convertedDate DateTime Parse stringInput 看来你
  • 如何让固定位置的 div 随内容水平滚动?使用 jQuery

    我有一个带有以下 CSS 的 div scroll fixed scroll fixed position absolute top 210px scroll fixed fixed position fixed top 0 当 div 到
  • 如何循环遍历文件中的行块?

    我有一个如下所示的文本文件 其中的行块由空行分隔 ID 1 Name X FamilyN Y Age 20 ID 2 Name H FamilyN F Age 23 ID 3 Name S FamilyN Y Age 13 ID 4 Nam
  • 获取鼠标光标下的 RGB 值

    我正在尝试构建一个程序来检测鼠标光标下方的颜色 然后在屏幕上的窗口中显示颜色和 RGB 值 我对 Java 非常陌生 所以什么都不知道 在朋友的帮助下 我编写了两个代码 第一个获取缓冲图像的特定坐标的 RGB 值 另一个获取用户定义的 RG
  • jQuery animate 在小提琴中工作但在线不流畅

    我制作了一种带有三个扩展 div 的手风琴 a b c 在小提琴中 但是当我将其保存在本地并在浏览 器中打开它时 过渡不再平滑 点击后我特别注意到 b with a扩大了 我已包含引用 CSS 和 JavaScript 代码的 HTML 原
  • 了解 Powershell:示例 - 将 JSON 转换为 CSV

    我读过几篇文章 比如使用 PowerShell 将 JSON 转换为 CSV 关于使用 PowerShell 转换 CSV 我还了解到 在脚本中使用管道语法是一种相对较差的形式 它实际上是用于命令行的 并且随着时间的推移会给开发人员带来维护
  • 如何在MongoDB中设置缓冲区偏移范围,它不允许在BSON对象中上传超过16MB的文件?

    我的流程和代码 从表单数据上传图像并将图像的 BSON 字符串存储到数据库 以下是步骤和代码 从 multer upload 上传文件 从文件系统读取文件 fs 将图像内容字符串转换为base64字符串 将base64字符串转换为BSON字
  • 在 R 中使用线性回归填充 NA

    我有一个包含一个时间列和 2 个变量的数据 下面的示例 df lt structure list time c 15 16 17 18 19 20 21 22 23 24 25 26 var1 c 20 4 31 5 NA 53 7 64