将矩阵每列中的 NA 替换为该列的中值

2023-11-30

我试图用该列的中位数替换矩阵每一列中的 NA,但是当我尝试使用lapply or sapply我收到一个错误;当我使用 for 循环并且一次更改一列时,代码有效,我做错了什么?

Example:

set.seed(1928)
mat <- matrix(rnorm(100*110), ncol = 110)
mat[sample(1:length(mat), 700, replace = FALSE)] <- NA
mat1 <- mat2 <- mat

mat1 <- lapply(mat1,
  function(n) {
     mat1[is.na(mat1[,n]),n] <- median(mat1[,n], na.rm = TRUE)
  }
)   

for (n in 1:ncol(mat2)) {
  mat2[is.na(mat2[,n]),n] <- median(mat2[,n], na.rm = TRUE)
}

我建议使用向量化matrixStats包而不是使用任一循环计算每列的中位数(sapply从某种意义上说,它也是一个循环,它在每次迭代中评估一个函数)。

首先,我们将创建一个NAs index

indx <- which(is.na(mat), arr.ind = TRUE)

然后,更换NAs 使用预先计算的列中位数并根据索引

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

将矩阵每列中的 NA 替换为该列的中值 的相关文章

  • rpart是自动剪枝吗?

    Is rpart自动修剪 生成的决策树rpart比具有自动修剪功能的 Oracle Data Mining 生成的级别要多得多 否 但拟合函数的默认值可能会 提前 停止分割 对于 早期 的某些定义 See rpart control对于您可
  • 聚合日期时间以总结在特定条件下花费的时间

    我很困惑我应该如何继续 我下面有一些虚拟数据 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进入标签 但这似乎不适用于希腊字母 不适用于图例
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • 为每个因素级别添加日期时间序列

    我有一个带有因子列的数据框 s lt data frame id 901 910 s id lt as factor s id 我有一个日期时间序列 library lubridate start lt now as difftime 2
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 如何读取 R 中的每个 .csv 文件并将其导出到单个大文件中

    你好 我有以下格式的数据 101 20130826T155649 3 1 round 0 10552 180 yellow 12002 1 round 1 19502 150 yellow 22452 1 round 2 28957 130
  • 根据 row_number() 过滤 data.frame

    更新 自从提出这个问题以来 dplyr 已经更新 现在按照 OP 的要求执行 我正在尝试获取第二行到第七行data frame using dplyr 我正在这样做 require dplyr df lt data frame id 1 1
  • 在 R 中使用逻辑 grep 抓取文本

    下午好 谢谢你帮我解答这个问题 我有兴趣抓取一组超过 5000 个 URL 的列表 我使用 lapply 和 readLines 使用下面的示例代码提取这些网页的文本 multipleURL lt c http dailymed nlm n
  • 如何从数据框中删除少于 5 个观察值的个体 [重复]

    这个问题在这里已经有答案了 为了澄清这个问题 我将简要描述数据 中的每一行data frame是一个观察值 列代表与该观察值相关的变量 包括 观察到什么个体 观察时间 观察地点等 我想排除 过滤观察值少于 5 个的个体 换句话说 如果 in
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • 通过 R 中的数据子集执行计算

    我想对数据框的 PERMNO 列中的每个公司编号进行计算 其摘要可以在此处查看 gt summary companydataRETS PERMNO RET Min 10000 Min 0 971698 1st Qu 32716 1st Qu
  • R 多元一步预测和准确性

    我想使用 R 来比较两个预测模型的 RMSE 均方根误差 第一个模型使用 1966 年至 2000 年的估计值来预测 2001 年 然后使用 1966 年至 2001 年的估计值来预测 2002 年 依此类推直至 2015 年 第二个模型使
  • 更改 pander 中的默认对齐方式 (pandoc.table)

    我目前正在切换到pander对于我的大部分时间knitr markdown格式化 因为它提供了如此出色的pandoc支持 我不太满意的一件事是默认的居中对齐 营销人员可能会喜欢它 但对于技术报告来说这是一个可怕的事情 使用的最佳选择Hmis
  • 使用 ggplot 构面时增加闪亮的绘图大小

    有没有办法增加绘图窗口的大小shiny取决于在一个中使用的面的数量ggplot图 也许使用垂直滚动 例如 使用下面的示例 当输入为 A 有三个方面 情节看起来不错 当选项 B 选择绘图数量会增加 但绘图窗口保持相同大小 导致绘图太小 是否有
  • 如何从 R 数据框中提取关键字

    我是 R 中文本挖掘的新手 我想从数据框的列中删除停用词 即提取关键字 并将这些关键字放入新列中 我尝试制作一个语料库 但它对我没有帮助 df C3是我目前拥有的 我想添加栏目df C4 但我无法让它工作 df lt structure l
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 排序因素与水平

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred

随机推荐

  • 从 Powershell 中的递归中排除文件夹

    我编写了以下脚本 将特定文件夹中的所有 MP4 文件移动到根文件夹 但是我希望该脚本忽略一个名为 Camera 的特定文件夹 我使用排除命令无济于事 有人可以帮忙吗 ignore Camera Get Childitem C Root ex
  • php脚本中最佳的MYSQL查询数是多少?

    我不是专业程序员 所以我不能确定这一点 您的脚本在一页上发送了多少个 mysql 查询 以及您的最佳查询数量是多少 例如 在 stackoverflow 的主页上 它列出了问题 显示了这些问题的作者 stackoverflow 为每个问题发
  • SSL 连接、Windows 证书存储和 CAPI 引擎

    我正在创建一个SSL使用 OpenSSL API 进行连接 众所周知 在 SSL 握手中 服务器或客户端会发生一系列证书身份验证 现在对于客户端证书身份验证 客户端的证书和关联的私钥存储在Windows Certificate Store
  • 如何处理重复条目的错误?

    我有一个 PHP 表单 可以将数据输入到我的 MySQL 数据库中 我的主键是用户输入的值之一 当用户输入表中已存在的值时 会返回 MySQL 错误 Duplicate entry entered value for key 1 我想提醒用
  • 如何创建带有描述的计划任务?

    我将 Microsoft Graph API 与 Net SDK 结合使用 我正在尝试创建一个新的 PlannerTask 并在执行此操作时提供描述 PlannerTask 的描述位于相关对象 PlannerTaskDetails 上 因此
  • 我应该担心指针转换期间的对齐吗?

    在我的项目中 我们有一段这样的代码 raw data consists of 4 ints unsigned char data 16 int i1 i2 i3 i4 i1 int data i2 int data 4 i3 int dat
  • 在 Play 框架中混合 scala 和 java

    我有一个如下所示的 Java 文件 package AuthorizeNetFingerprint class Fingerprint private static Log logger LogFactory getLog Fingerpr
  • 如何将 .npy 文件转换为 .binaryproto?

    我使用 python 创建了一个平均图像文件并将其保存到 numpy 文件中 我想知道如何将此 npy 文件转换为 binaryproto 文件 我正在使用此文件来使用 GoogLeNet 进行训练 您可以简单地使用 numpy 创建 bi
  • 将行指针 URL 生成到 Github Pull 请求中

    我正在尝试自动生成一个 URL 该 URL 可以指向 GitHub Pull 请求的文件差异视图中的行号 基本上 给定 URLhttps github com weppos whois pull 90 files我想生成如下 URLhttp
  • itextSharp - 合并 pdf 文件会禁用扩展阅读器权限

    我正在使用 Itextsharp v5 1 并创建了启用的阅读器 pdf 文件 我编写了一个 C 类来填写表单并保留每个单独的 pdf 文件扩展阅读器 但是 当我在这里使用这个 MergeFiles 函数时 它会创建一个新的合并文件而不是扩
  • 我应该使用什么工具或算法从给定 Damerau-Levenshtein 距离的关键字生成单词?

    Damerau Levenshtein 距离是这样的 abcd aacd gt 1 DL distance abcd aadc gt 2 DL distance 有关编辑距离的更多信息 https pypi python org pypi
  • 如何获取所有持久化实体

    我对 lagom 框架完全陌生 因此 我今天正在阅读文档并开始修改他们的 hello world 示例 但是 我无法找到一种方法来获取所有持久实体 即本示例中的所有持久问候语 这是默认示例获取某人的问候语的方式 Override publi
  • 根据 npm start 停止所有进程...

    我正在并行启动多个 npm 任务 使用 不仅仅是按顺序 因此在包 json start npm run watch blog npm run watch data npm run server 这些子任务对我来说很有用 例如 watch b
  • iOS 按钮不起作用

    我在IB中插入了一个按钮 在 h文件中添加了这段代码 IBAction buttonPressed id sender 将动作连接到 IB 中的按钮 Touch Up Inside 然后将其放在 synthesize 正下方的 m 文件中
  • 在应用程序内进行付款的不同选项

    我正在探索使用户能够在应用程序内进行付款的选项 现在我知道用户可以通过两个选项在应用程序内进行付款 1 个应用内购买 已实施 2 贝宝 探索 那么有没有其他的方式来实现购买呢 欢迎任何链接 API 建议 PS 我打算在美国App Store
  • hive xml serDe:表为空

    我想将 xml 数据存储到 hive 表中 XML 数据
  • “嵌入” UIViewController 到另一个中

    我有一个 UIViewController DetailViewController 由顶部的导航栏和覆盖屏幕其余部分的 UIView 组成 是否可以使用 DetailViewController 以外的 UIViewController
  • Python正则表达式解析

    我在 python 中有一个字符串数组 数组中的每个字符串看起来像这样
  • ValueError:合并时不允许负尺寸

    我正在将 2 个数据框合并在一起 他们原本是 csv每个文件只有 7 MB 2 列和 290 000 行 我这样合并 merge pd merge df1 df2 on POINTID how outer 在 32 位 Anaconda 中
  • 将矩阵每列中的 NA 替换为该列的中值

    我试图用该列的中位数替换矩阵每一列中的 NA 但是当我尝试使用lapply or sapply我收到一个错误 当我使用 for 循环并且一次更改一列时 代码有效 我做错了什么 Example set seed 1928 mat lt mat