快速替换 NA - 错误或警告

2023-12-01

我有一个名为“mat”的大 data.frame,包含 49952 个 obs。 7597 个变量,我正在尝试用零替换 NA。这是我的 data.frame 的示例:

    A   B   C   E   F   D   Q   Z   . . .
1   1   1   0   NA  NA  0   NA  NA
2   0   0   1   NA  NA  0   NA  NA
3   0   0   0   NA  NA  1   NA  NA
4   NA  NA  NA  NA  NA  NA  NA  NA
5   0   1   0   1   NA  0   NA  NA 
6   1   1   1   0   NA  0   NA  NA
7   0   0   1   0   NA  1   NA  NA 
.
.
.

我需要非常快速的工具来替换它们。结果应该如下所示:

    A   B   C   E   F   D   Q   Z   . . .
1   1   1   0   0   0   0   0   0
2   0   0   1   0   0   0   0   0 
3   0   0   0   0   0   1   0   0
4   0   0   0   0   0   0   0   0
5   0   1   0   1   0   0   0   0 
6   1   1   1   0   0   0   0   0
7   0   0   1   0   0   1   0   0 
.
.
.

我已经尝试过了lapply(mat, function(x){replace(x, is.na(x),0)})- 没用 -mat[is.na(mat)] <- 0- 错误,并且可能太慢 - 并且link- 也没有工作。

@Sotos 已经建议我了plyr::rbind.fill(lapply(L, as.data.frame))但它不起作用,因为它使 data.frame 包含 379485344 个观察值和 1 个变量(即 49952x7597),所以我还必须将其转换回来。有没有更好的方法来做到这一点?

我的 data.frame 的真实结构:

> str(mat)
'data.frame':   49952 obs. of  7597 variables:
 $ 6794602   : num  1 NA NA NA NA 0 0 0 0 0 ...
 $ 1008667   : num  NA 1 0 NA NA 0 0 0 0 0 ...
 $ 8009082   : num  NA 0 1 NA NA NA NA NA NA NA ...
 $ 6740421   : num  NA NA NA 1 NA 0 0 0 0 0 ...
 $ 6777805   : num  NA NA NA NA 1 NA NA NA NA NA ...
 $ 1001682   : num  NA NA NA NA NA 0 0 0 0 0 ...
 $ 1001990   : num  NA NA NA NA NA 0 0 0 0 0 ...
 $ 1002541   : num  NA NA NA NA NA 0 0 0 0 0 ...
 $ 1002790   : num  NA NA NA NA NA 0 0 0 0 0 ...

Note:

当我尝试时mat[is.na(mat)] <- 0有一个警告:

> mat[is.na(mat)] <- 0
Warning messages:
1: In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
  invalid factor level, NA generated
2: In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
  invalid factor level, NA generated
> nlevels(mat)
[1] 0

使用后的Data.frame垫mat[is.na(mat)] <- 0:

> str(mat)
'data.frame':   49952 obs. of  7597 variables:
 $ 6794602   : num  1 0 0 0 0 0 0 0 0 0 ...
 $ 1008667   : num  0 1 0 0 0 0 0 0 0 0 ...
 $ 8009082   : num  0 0 1 0 0 0 0 0 0 0 ...
 $ 6740421   : num  0 0 0 1 0 0 0 0 0 0 ...
 $ 6777805   : num  0 0 0 0 1 0 0 0 0 0 ...
 $ 1001682   : num  0 0 0 0 0 0 0 0 0 0 ...
 $ 1001990   : num  0 0 0 0 0 0 0 0 0 0 ...
 $ 1002541   : num  0 0 0 0 0 0 0 0 0 0 ...
 $ 1002790   : num  0 0 0 0 0 0 0 0 0 0 ...

所以问题是:

  1. 有没有其他快速替代NA的方法?
  2. 这个警告有什么大不了的吗?因为使用后的数据mat[is.na(mat)] <- 0看起来像我想要的,但是值太多,所以我无法检查它们是否正确。

请尝试以下操作:

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

快速替换 NA - 错误或警告 的相关文章

  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • 将 pandas 数据帧拆分为子数据帧列表的最快方法

    我有一个大数据框df我有完整的清单indices中的独特元素df index 我现在想创建一个由元素索引的所有子数据帧的列表indices 具体来说 list df df loc x for x in indices 运行这个命令需要很长时
  • 在`rmarkdown`中,如何在句子中添加图标?

    In rmarkdown 如何在句子中添加图标 例如如下 如何添加markdown icon单词 Markdown 和 is 之间 有一个很好的 R 包 可以轻松下载 RMarkdown 文档并将图标添加到其中 icons https gi
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 从另一列的子字符串创建列

    我有一个 Pandas 数据框对象 我想从现有列的子字符串创建新列 我的数据如下所示 Date variable want1 want2 want3 0 02 01 08 Australia Sydney A Australia Sydne
  • 如何在R中匹配具有相同主键的两个表中的数据

    我有两个表 其中包含有关人员的数据 df1 lt data frame id c 113 202 377 288 359 name c Alex Silvia Peter Jack Jonny 这为我提供了 id name 1 113 Al
  • 根据 row_number() 过滤 data.frame

    更新 自从提出这个问题以来 dplyr 已经更新 现在按照 OP 的要求执行 我正在尝试获取第二行到第七行data frame using dplyr 我正在这样做 require dplyr df lt data frame id 1 1
  • dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

    我试图在 dplyr 中对全局环境中的函数使用标准评估 但出现 无法找到函数 错误 这是一些代码 create data frame df lt data frame x rnorm 10 y rnorm 10 define arbitra
  • 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 中使用 `UseMethod()` 与 `inherits()` 来确定对象的类

    如果我需要根据 R 对象的类以不同的方式处理它们 我可以使用if and else在单个函数内 foo lt function x if inherits x list Foo the list else if inherits x num
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • 通过 R 中的数据子集执行计算

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

    我想使用 R 来比较两个预测模型的 RMSE 均方根误差 第一个模型使用 1966 年至 2000 年的估计值来预测 2001 年 然后使用 1966 年至 2001 年的估计值来预测 2002 年 依此类推直至 2015 年 第二个模型使
  • 使用 ggplot 构面时增加闪亮的绘图大小

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

    在这种数据框中 df lt data frame w1 c A A B C A w2 c C A A C C w3 c C A B C B 我需要计算所有列中字符值的列内比例 有趣的是 以下代码适用于大型实际数据集 但对上述玩具数据会引发错
  • Python/从每个包含类似字符串对象的 Pandas 数据框单元格中去除空格的有效方法

    我正在将 CSV 文件读入 DataFrame 中 我需要从所有类似字符串的单元格中删除空格 在 Python 2 7 中保持其他单元格不变 这是我正在做的事情 def remove whitespace x if isinstance x
  • 如何将同一行中以逗号分隔的值拆分到R中的不同行

    我有一些数据来自谷歌表格 https forms gle rGQQL3tvA1PrE4dD8我想拆分以逗号分隔的答案 and 复制参与者的 ID 数据如下 gt head data names Q2 Q3 Q4 1 PART 1 fruit
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor

随机推荐

  • WordPress 上的评论作者链接

    在 WordPress 表单中 当您以访客身份留下评论时 会出现一个网站字段来填写您的网址 如果我们填写该框 我们可以通过调用此函数来获取链接 但是 如果您已登录并且未在您的个人资料中添加该网站 那么当您发表评论时 您的用户名上没有链接 我
  • npm 错误:无法建立隧道套接字,原因=connect ETIMEDOUT

    我有一个使用 Rails 框架并实现 AngularJs 作为前端一部分的应用程序 我已将所有内容推送到 Heroku 并安装了 Heroku Toolbelt 但是当我尝试使用 heroku run rake db migrate 迁移数
  • ASP.NET MVC 和 Ajax,并发请求?

    AJAX 新手来了 目前 在我的 ASP NET MVC Web 应用程序中 我的 AJAX 请求似乎正在批量或排队 我不确定 在前一个请求完成之前 似乎没有任何请求完成 我该如何获得独立返回的请求 我不一定希望有人给我答案 但也许一些可以
  • 任务“:app:checkDebugAarMetadata”执行失败

    我在运行我的应用程序时收到此错误 Execution failed for task app checkDebugAarMetadata gt Could not resolve all files for configuration ap
  • 增量定义?

    无论如何 每次使用它时都有一个定义的增量吗 例如 int a ADEFINE int b ADEFINE a 为 1 b 为 2 您可以使用 COUNTER 尽管这不是标准的 MSVC 和 GCC 都支持它 如果你可以使用boost 预处理
  • p:fileUpload 在哪里保存我的文件?

    我的页面上有一个 p fileUpload 函数 每次上传文件时 我似乎都无法在 web xml 文件中指定的文件夹中找到它 我已将以下 jar 添加到我的库中 primefaces 3 2 jar commons io 2 3 jar c
  • SVG tspan 未与 text-anchor="end" 对齐的问题

    我有一些这样的代码 svg font family Verdana sans serif color 000 key font size 75 overflow visible caphgh font weight bold keynor
  • 这段代码的作用是什么?

    我不太确定这意味着什么或它在做什么 有人可以详细说明吗 Player player Player sender 它获取发送者引用的对象 并尝试将其转换为 Player 类型 Java 对象是强类型的 这意味着您必须声明对象的类型 如果发送者
  • 如何在 TFS 中反序列化和序列化构建过程参数

    我正在尝试使用 TFS 2013 API 创建新的构建定义 我必须引用的流程模板包含几个自定义活动和参数 创建构建定义时 一些属性值需要动态更新 所以我尝试使用以下代码反序列化过程参数 IDictionary
  • 多个自定义滚动条

    我想知道的是是否可以在同一页面上有多个定制的 webkit scrollbars 我制作了一些特定的 div 颜色 例如一个 div 有绿色文本和图像 另一个有蓝色等 所以我想为每个 div 制作一个自定义滚动条 使其与颜色匹配 Q1 可以
  • 如何使用 Google 脚本将日历事件复制(复制)到另一个日历中?

    我在 Google 日历中有几个日历 我正在学习 Google 脚本 并希望创建一个脚本 将事件从我的一个日历复制到另一个日历 并有机会修改参数 例如重复发生 一些代码开始 function myFunction var calendarS
  • 检查列表列表中是否存在某个项目的最佳方法? [复制]

    这个问题在这里已经有答案了 我有这样的示例列表 example list aaa fff gg ff gg 现在 我检查它是否有空字符串 如下所示 has empty False for list1 in example list for
  • bash: /bin/myscript: 权限被拒绝

    我已将文件夹的路径添加到 linux mint 15 中的 bashrc 其中包含我的脚本 据我所知 我的脚本应该像 bash 脚本一样工作 但每次我尝试使用我的脚本之一时 都会出现以下错误 bash bin myscript permis
  • iPhone Facebook Graph API 库

    是否存在使用新 Facebook Graph API 的 iPhone 库 这个库很棒 http www capturetheconversation com technology iphone facebook oauth 2 0 and
  • 处理响应 - SyntaxError:使用模式时出现意外的输入结束:“no-cors”

    我尝试了对 REST API 的 ReactJS 获取调用 并希望处理响应 调用成功 我收到响应 我可以在 Chrome 开发工具中看到该响应 function getAllCourses fetch http localhost 8080
  • MySQL 非主键自增

    我想知道是否 如何可以为每个主键设置第二列自动增量 CREATE TABLE test id INTEGER UNSIGNED NOT NULL subId INTEGER UNSIGNED NOT NULL AUTO INCREMENT
  • 扩展方法和动态对象

    我将把我的问题总结为以下代码片段 List
  • 仅限于 N 元解的背包算法

    这段摘自 CRAN 文档的 adagio 函数 knapsack 的功能符合预期 它用利润向量解决了背包问题p 权重向量w 和容量cap 在所选元素的总权重不超过容量的约束下 选择利润最大的元素子集 library adagio p lt
  • WooCommerce - 在购物车页面上取消设置“<产品> 删除通知...”

    动作和过滤器 在我的 WooCommerce 网站上 当我从购物车中删除产品时 我收到以下消息
  • 快速替换 NA - 错误或警告

    我有一个名为 mat 的大 data frame 包含 49952 个 obs 7597 个变量 我正在尝试用零替换 NA 这是我的 data frame 的示例 A B C E F D Q Z 1 1 1 0 NA NA 0 NA NA