在数据框的每一列中填写 NA 的平均值[重复]

2023-12-10

如果我有一个数据框 df

df=data.frame(x=1:20,y=c(1:10,rep(NA,10)),z=c(rep(NA,5),1:15))

我知道用给定列的平均值替换 NA 是,我们可以使用

df[is.na(df$x)]=mean(df$x,na.rm=T)

我试图找到一种使用单个命令的方法,以便它立即对列执行此操作,而不是对每个列重复执行此操作。

怀疑,我需要使用 sapply 和 function,我尝试了类似的方法,但显然这不起作用

sapply(df,function(x) df[is.na(df$x)]=mean(df$x,na.rm=T))

任何建议都会很棒。我尝试搜索以前的帖子,但找不到正在解决的类似问题。


我们可以用na.aggregate。一种选择是单独应用na.aggregate在每一列上。我们可以这样做lapply。如果我们正在使用data.table,将 'data.frame' 转换为 'data.table' (setDT(df)),循环列并应用na.aggregate。这会将 NA 替换为非 NA 值的平均值。

library(zoo)
library(data.table)
setDT(df)[, names(df) := lapply(.SD, na.aggregate)][]
#     x    y  z
# 1:  1  1.0  8
# 2:  2  2.0  8
# 3:  3  3.0  8
# 4:  4  4.0  8
# 5:  5  5.0  8
# 6:  6  6.0  1
# 7:  7  7.0  2
# 8:  8  8.0  3
# 9:  9  9.0  4
#10: 10 10.0  5
#11: 11  5.5  6
#12: 12  5.5  7
#13: 13  5.5  8
#14: 14  5.5  9
#15: 15  5.5 10
#16: 16  5.5 11
#17: 17  5.5 12
#18: 18  5.5 13
#19: 19  5.5 14
#20: 20  5.5 15

或者我们可以使用na.aggregate直接在数据集上。

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

在数据框的每一列中填写 NA 的平均值[重复] 的相关文章

  • 如何在 R 中为回归量创建“宏”?

    对于长且重复的模型 我想创建一个 宏 在 Stata 中称为 宏 并通过以下命令完成 global var1 var2 其中包含回归量的模型公式 例如来自 library car lm income education prestige d
  • 如何将带有观察计数的标签添加到 stat_summary ggplot?

    我有一个数据集 例如 outcome lt c rnorm 500 45 10 rnorm 250 40 12 rnorm 150 38 7 rnorm 1000 35 10 rnorm 100 30 7 group lt c rep A
  • 聚合日期时间以总结在特定条件下花费的时间

    我很困惑我应该如何继续 我下面有一些虚拟数据 Date lt as POSIXct c 2018 03 20 11 52 25 2018 03 22 12 01 44 2018 03 20 12 05 25 2018 03 20 12 10
  • 将日期时间字符串转换为 Date 类

    我有一个带有日期时间字符列的数据框 当我使用as Date 除了少数实例之外 我的大多数字符串都被正确解析 下面的示例有望向您展示发生了什么 my attempt to parse the string to Date uses the s
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • 将所有分号替换为空格 pt2

    我尝试对 2000 多行关键字的列表运行文本分析 但它们的列出方式如下 战略 管理风格 组织 所以当我使用 tm 删除标点符号时 它就变成了 组织的战略管理风格 我认为这在某种程度上破坏了我常用术语的分析 我尝试过使用 vector lt
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 根据 R 数据框中的名称对列进行平均

    我想知道是否有一种有效的方法来获取每组的平均值类似命名的列谁的名字结尾为 1S and 2S ex ex1S ex2S at time 1并取每组的平均值类似命名的列谁的名字结尾为 1C or 2C ex ex1C ex2C at time
  • 如何读取 R 中的每个 .csv 文件并将其导出到单个大文件中

    你好 我有以下格式的数据 101 20130826T155649 3 1 round 0 10552 180 yellow 12002 1 round 1 19502 150 yellow 22452 1 round 2 28957 130
  • 空间数据xyz到矩阵

    我有一个大数据框 100 000 行 其中包含 LON LAT VALUE 我想将其转换为矩阵 EPSG 中的坐标 3035 我使用以下命令尝试了 reshape2 包 acast df lon lat value var value 效果
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • R参考类问题

    我正在尝试在 R 中创建一个简单的参考类 这是我的代码 R 初学者 MyClass lt setRefClass MyClass fields list a numeric b numeric methods list initialize
  • 如果条目出现次数少于 x 则删除数据框中的行

    我有以下数据框 称之为 df 它是由三个向量组成的数据框 姓名 年龄 和 邮政编码 df Name Age ZipCode 1 Joe 16 60559 2 Jim 20 60637 3 Bob 64 94127 4 Joe 23 9412
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p
  • 如何确定 R 包的作者?

    如何确定包的作者是谁 鉴于我们拥有这个广泛使用的代码库 我认为参考我在分析中使用的软件是合适的 有没有办法以编程方式检索作者和任何其他相关信息 在伪代码中 我想执行以下操作 references base 我怎样才能做到这一点 为了能够引用
  • R 中的龙卷风图

    我正在尝试在 R 中绘制龙卷风图 又名敏感性图 目标是可视化某些变量增加 10 和减少 10 的效果 到目前为止我已经得到这个结果 这是我正在使用的代码 Tornado plot data lt matrix c 0 02 0 02 0 0
  • 如何定义“f_n-chi-square”函数并使用“uniroot”求置信区间?

    I want to get a 95 confidence interval for the following question 我已经写了函数f n在我的 R 代码中 我首先使用 Normal 随机采样 100 个样本 然后定义函数h

随机推荐

  • 数据压缩如何比索引更有效地提高搜索性能?

    对于我们的应用程序 我们保留由三个整数列 源 类型和时间 索引的大量数据 加载大量数据可能需要一些时间 我们已经实施了各种措施来减少大型查询必须搜索和加载的数据量 例如为不需要高分辨率的查询存储更大的粒度 时间 明智的 当在我们的备份存档中
  • Ajax get/posts 后 IE 不刷新

    我有一个小问题 我不知道如何处理 我写了一些 jQuery post gets 它们在 FF Opera 和 Chrome 中运行良好 但是 当从资源管理器 任何版本 运行时 请求中的更新内容不会加载到浏览器中 我使用了开发人员工具并调试了
  • sed 使用正则表达式

    所以基本上我有一个包含 1500 个名字的原始列表 每个名字都有一个 4 位数字 我有另一个文件 其中包含这 1500 个姓名中的 200 个姓名以及与其关联的新 4 位数字 我需要用这个新号码替换旧号码 我有一个文件original tx
  • 在 theano 中优化卷积时收到断言错误

    我正在尝试运行这段代码 x set np random rand 100 100 100 x T dtensor3 x inp x reshape 100 1 100 100 W stdDev np sqrt 2 3 3 2 W thean
  • 谷歌项目托管svn提交问题

    当我尝试使用 svn commit 提交代码时 它返回一个错误 svn 提交失败 详细信息如下 svn 服务器发送了意外的返回值 405方法不允许 响应 MKACTIVITY 请求 svn svn act acf5cd6f e8d7 476
  • Wix升级版本

    我正在尝试做教程 检查老歌 https www firegiant com wix tutorial upgrades and modularization checking for oldies
  • 谷歌分析 Cookie

    在我的浏览器中 如果我拒绝创建 cookie 则 cookie 会按名称 utma utmb 等创建 我认为此 cookie 用于谷歌分析 任何人都知道谷歌如何创建此 cookie 即使浏览器不支持 cookie 创建 谢谢 是的 这些是
  • 毫无例外地编写 C++ 吗?

    这个答案提到了两种处理非异常安全的 C 库 例如 Qt 的方法 将其隔离在异常安全包装器中 放弃例外并适应其风格 答案详细介绍了第一个选项 但第二个选项的后果是什么 放弃例外 当毫无例外地编写C 时 该语言的使用是如何受到限制的 例如 标准
  • Windows XP批处理文件连接

    我正在尝试完成以下荒谬的任务 我有一个文本文件 其中包含一组完全限定的文件名 我想迭代该文件并将每一行附加到一个公共变量 该变量可以传递给命令行工具 例如 该文件可能是 C dir test txt C WINDOWS test2 txt
  • 如何在 JOINED 表中使用 FIND_IN_SET?

    我有 2 张桌子 user 注册献血者的姓名及其血型 blood 包含血型和血液相容性 例如 血液为5 A 可以接受5 A 和6 O 的献血 我必须建立一个搜索表单来检索潜在的献血者 该表格允许用户搜索特定血型的捐献者 如果我搜索血型 5
  • 从套接字接收的流是否仅限于单个发送命令?

    我目前正在开发一个多线程应用程序 我使用以下 简化的 代码接收数据 private void BeginReceiveCallback IAsyncResult ar bytesReceived this Socket EndReceive
  • 具有可变时间的动画

    我有轨迹数据 其中每辆车都有自己的启动时间 每辆车都是动画中的一个点 因此 在数据集中 每一行都有坐标点 x y 和时间戳 所以 固定的时间间隔对我来说不起作用 我尝试过loop and sleep但它不显示动画 而只显示第一个结果 但如果
  • 将扩展 NextPage 类型分配给页面组件时出现类型错误

    我收到类型错误const Page如下面的屏幕截图和代码块所示 Type props Props JSX Element getLayout page ReactElement
  • javax.crypto.BadPaddingException:未知的块类型

    我正在尝试模拟非对称密钥系统 我使用以下代码来生成密钥对 加密 解密密码 我有一个分布式环境 目前我将生成的密钥保存在文件系统中 我知道这并不安全 但它只是用于测试目的 private static SecureRandom random
  • Pandas 和 PanelOLS:仅支持 2 级多重索引

    我有一个像这样的数据框 year fcode y x 0 1987 410032 NaN 0 1 1988 410032 NaN 0 2 1989 410032 NaN 0 3 1987 410440 NaN 0 4 1988 410440
  • 如何在JavaCC中实现JavaScript/ECMAScript“这里没有LineTerminator”规则?

    我继续致力于我的JavaCC语法 for ECMAScript 5 1 实际上进展顺利 我想我现在已经涵盖了大部分表达方式 我现在有两个问题 两个问题都与自动分号插入 7 9 1 有关 这是其中之一 该规范定义了以下生产 PostfixEx
  • Winforms:插入符号位置的屏幕位置

    如何找到标准 Winforms TextBox 的插入符的屏幕位置 您只能使用本机互操作来完成此操作 获取插入符位置 DllImport user32 dll return MarshalAs UnmanagedType Bool stat
  • ^ 运算符对 BOOL 有何作用?

    这句话是什么意思呢 isChecked isChecked 1 isChecked is a BOOL 是异或运算 因此 0 翻转为 1 1 翻转为 0 结果应该是一样的isChecked isChecked
  • Android Volley POST请求:在服务器端获取GET请求方法(php)

    我正在制作一个 Android 应用程序 需要将 Post 请求发送到我的服务器 并且确实需要一些帮助 我一直在尝试使用 android Volley 提出这些请求 我在这里阅读了很多相关问题以及有关 android Volley 的各种文
  • 在数据框的每一列中填写 NA 的平均值[重复]

    这个问题在这里已经有答案了 如果我有一个数据框 df df data frame x 1 20 y c 1 10 rep NA 10 z c rep NA 5 1 15 我知道用给定列的平均值替换 NA 是 我们可以使用 df is na