基于行内 NA 数量的条件行删除

2024-03-30

我希望根据以下两个条件从数据集中删除行:

  1. 如果有 3 个连续单元格,则删除行NA or
  2. 如果有四个或更多单元格NA

我的样本数据:

data <- rbind(c(1,1,2,3,4,2,3,2),
              c(NA,1, NA, 4,1,1,NA,2), 
              c(1,4,6,7,3,1,2,2), 
              c(NA,3, NA, 1,NA,2,NA,NA), 
              c(1,4, NA, NA,NA,4,3,2))

我对现有问题进行了研究,发现na.omit or complete.cases可以删除行NA但由于我有条件,做进一步的研究,我在现有问题中发现了以下代码:

data[! rowSums(is.na(data)) >4  , ]   
data[! rowSums(is.na(data)) ==3  , ]

第一行完全满足我的第二个条件。第二行确实删除了具有三个的行NA但不寻找连续的行并删除总共 3 行NA的。例如:

> data
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    1    1    2    3    4    2    3    2
[2,]   NA    1   NA    4    1    1   NA    2
[3,]    1    4    6    7    3    1    2    2
[4,]   NA    3   NA    1   NA    2   NA   NA
[5,]    1    4   NA   NA   NA    4    3    2

> data[! rowSums(is.na(data)) ==3  , ]
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    1    1    2    3    4    2    3    2
[2,]    1    4    6    7    3    1    2    2
[3,]   NA    3   NA    1   NA    2   NA   NA

我真正想要的是仅删除第 5 行,因为它具有连续的三个NA的而不是第二行。

有人可以建议我如何克服这个问题吗?


同时满足两个条件:

data[!apply(is.na(data), 1, function(x) 
  {v <- cumsum(x); any(diff(v, 3) == 3) | 4 %in% v}), ]
#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
# [1,]    1    1    2    3    4    2    3    2
# [2,]   NA    1   NA    4    1    1   NA    2
# [3,]    1    4    6    7    3    1    2    2

any(diff(v, 3) == 3) is TRUE如果有NA连续三次(所以某处的差异是 3)并且4 %in% v对应第二个条件。

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

基于行内 NA 数量的条件行删除 的相关文章

  • 如果我有一个包含计数的表格,如何获得直方图/摘要统计数据? [复制]

    这个问题在这里已经有答案了 我习惯了像这样的观察向量c 1 1 1 3 4 我可以在上面看到汇总统计数据和绘制直方图等 但现在我发现自己拥有相同的数据 但采用如下压缩格式 value numObs 1 3 3 1 4 1 当数据以data
  • 如何通过反射访问Generic.List的索引?

    好的 我有一个类 我将一个对象作为属性传递 我传递的对象是List
  • 列值的切换功能

    我有一个缩写变量 名称错误地分散在整个列表中 请参阅下面的示例结构 ID lt c SPW SM DLS SJ joe schmoe CEJ teddy roos GVF MJC LH sally fields Full names sho
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • 通过单击堆叠条形图打开选项卡

    我正在使用 R 构建一个包含转发的堆积条形图 ggplot and plotly 如果单击条形图的一部分 我希望打开一个新的浏览器选项卡并显示该特定日期的推文以及指定的转发量 但是 当我单击下面示例中的其中一个栏时 会打开一个不同的链接 表
  • Python - 为什么这段代码被视为生成器?

    我有一个名为 mb 的列表 其格式为 Company Name Rep Mth 1 Calls Mth 1 Inv Totals Mth 1 Inv Vol Mth 2 等等 在下面的代码中 我只是添加了一个包含 38 个 0 的新列表 这
  • 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
  • 变量“@{credentials}[0]”的值不是列表或类似列表

    我是一个新的机器人框架用户 当我尝试使用列表变量时 出现以下错误 真的不知道我哪里错了吗 Value of variable credentials 0 is not list or list like credentials Admin
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a
  • 得到“致命错误:索引超出范围”:在 swiftui 的列表项中显示索引

    更新 错误 类型 没有成员 1 如果在list foreach中放置一个if闭包 if self showMarkedOnly name marked 为什么 代码版本4 struct Name Identifiable Hashable
  • R - 对矩阵的每行/列应用具有不同参数值的函数

    我试图将函数应用于矩阵的每一行或每一列 但我需要为每一行传递不同的参数值 我以为我熟悉 lapply mapply 等 但可能还不够 举个简单的例子 gt a lt matrix 1 100 ncol 10 gt a 1 2 3 4 5 6
  • R 如何按行值进行分组、拆分或子集

    这是上一个问题的延续R 如何按行值分组 分裂 https stackoverflow com questions 64602607 r how to group by row value split 输入数据帧的变化是 id str c x
  • R tidyr regex:从字符列中提取有序数字

    假设我有一个像这样的数据框 df lt data frame x c This script outputs 10 visualizations This script outputs 1 visualization This script
  • ggplot多个时间不等的时间序列

    我知道有一些与时间序列和多个数据帧相关的已回答问题 但我似乎无法弄清楚这一点 我想绘制 4 个不同压力传感器与时间的时间戳数据 pa 列 我有来自同一实验的 4 个带时间戳的压力读数 dfs 然而 由于传感器故障和数据中的其他信号 传感器收
  • R 版本 4.0.0 上的 ROracle

    当尝试使用 ROracle 时 我收到以下错误消息 gt library ROracle Error package or namespace load failed for ROracle package ROracle was inst
  • Dplyr select_ 和starts_with 对变量列表中的多个值进行选择

    我正在从不同位置的不同传感器收集数据 数据输出类似于 df lt data frame date c 2011 2012 2013 2014 2015 Sensor1 Temp c 15 18 15 14 19 Sensor1 Pressu
  • 获得各州的边界

    编辑7 经过相当多的帮助后 我已经能够得到一张接近我需要的结果的地图 但我仍然需要在地图上显示州边界 但我无法弄清楚 为了制作一个合适的可重现示例 我需要链接到数据集 因为输出太大 为了使事情变得简单 我只对三个状态进行子集化 但边界线不显
  • 角度分割列表

    我有一个看起来像这样的列表 A B C 是否有任何简单的方法 而无需创建一个函数 将其展平为一个看起来像这样的数组 A B C 我搜索了 SO 但没有找到任何带有打字稿方法的内容 Thanks 编辑 A B C 是相同类型 看来您正在寻找的

随机推荐

  • file_get_contents 适用于本地但不适用于服务器[重复]

    这个问题在这里已经有答案了 可能的重复 file get contents 错误 https stackoverflow com questions 6551379 file get contents error 编写一个连接到 Insta
  • iOS 模拟器在 Xcode 10 上崩溃

    今天 我已将 iMac 从 macOS High Sierra 更新到 macOS Mojave 从那时起我就无法打开模拟器了 每次我尝试打开模拟器时都会立即崩溃 每当我尝试通过 Xcode 运行模拟器时 Xcode 都会显示此错误 等待
  • R 闪亮数据表链接到另一个选项卡

    我试图在单击第一个数据表中的一行时导航到 R 闪亮的另一个数据表选项卡 我在这里看到类似的例子 但是 我无法使用它们 因为我将数据从数据库直接提取到数据表中 在 Shiny 中从一个数据表到另一个数据表的超链接 https stackove
  • 为什么需要在页面末尾添加“有效的 XHTML 和 CSS”通知

    我在各种网站的页脚中都看到过这一点 其中大多数是非技术网站 有些网站甚至更进一步 包括一个 W3C 徽章来说明这一事实 我不明白这对目标受众有什么帮助 我可以想到几个可能的原因 它可能是一种营销工具 看 我们按照适当的标准进行编码 这可能适
  • Android Studio 3.0 上的 com.android.dex.DexIndexOverflowException

    我有一个用于 Espresso 测试的库 当我添加到我的项目时 我无法编译我的测试 Gradle 输出此错误 Caused by com android dex DexIndexOverflowException method ID not
  • Javascript 将秒转换为分钟 [重复]

    这个问题在这里已经有答案了 到目前为止 我已经能够找到数组中存储的分钟和秒的总和 var time 13 24 4 28 7 29 var min 0 var sec 0 for k in time min time k split 0 s
  • Bootstrap 日期选择器显示的日期格式与值的日期格式不同

    我想使用 Twitter Bootstrap 的日期选择器 我希望 DISPLAY 的实际输入格式为 mm dd yyyy 但我希望它创建 传递的对象的值应为 yyyy mm dd 我知道这个属性 data date format gt m
  • 了解Grep的选项-H在不同情况下的实际使用

    这个问题是基于这个答案 https stackoverflow com questions 1121776 to understand xargs better 1121897 1121897 为什么两个命令得到相同的输出 命令A sudo
  • JUnit:在被测类中启用断言

    我已经被Java咬过好几次了assert由于断言未在 JUnit 的 JVM 实例中启用 因此在 JUnit 测试套件中未失败的语句 需要明确的是 这些是实现内部的 黑盒 断言 检查不变量等 而不是 JUnit 测试本身定义的断言 当然 我
  • 如何更改 Intellisense 工具提示颜色

    如何更改 Visual Studio 下 Intellisense 显示的工具提示的颜色 我通过将 VS 主题保持为 蓝色 我发现深色主题缺乏对比度 来自定义编辑器颜色 以在深色背景上获取白色文本 但现在 Intellisense 工具提示
  • 扁平化 SQL Server 中的父子关系

    我在 SQL Server 中有两个表 Household 和 People Household 代表一个家 People 代表住在家里的人 家庭 Id Address City State Zip 1 123 Main Anytown C
  • Loki 配置与 s3

    我无法使用 Loki 连接到 AWS S3docker compose 日志在 Grafana 中可见 但 S3 存储桶仍为空 s3 存储桶是公共的 我附加了一个 IAM 角色来允许s3 FullAccess 我将 loki 更新到 v2
  • 查找用 Phing 替换文件中的文本

    有谁知道如何使用 Phing 查找和替换文件中的文本 如果您不想复制文件而只想替换文件所在的当前文件夹中的字符串 请执行反射性任务 http www phing info docs guide trunk chapters appendix
  • Facebook XFBML 未在 Internet Explorer 8 中呈现

    我贴出这个测试页来说明这个问题 死链接 我测试过的每个浏览器都可以正常工作 但在 Internet Explorer 8 中除外 奇怪的是 Internet Explorer 8 甚至不报告错误 哇 这就是问题所在 所以现在我无事可做或调试
  • 什么是 devise_mapping 变量以及如何包含它?

    我正在尝试在我的 Rails 应用程序中使用 Devise 实现身份验证 Rails 2 3 8 Devise 1 0 7 在 Windows Vista 上运行的 mongrel 但我收到以下错误 undefined local vari
  • 如何正确传递具有扩展属性的嵌套属性? (JSX)

    1 你好 我有代码 class Component extends React Component render this props nested prop this props parse nested prop return div
  • 如何在 javascript 中在运行时添加/删除对象的属性[重复]

    这个问题在这里已经有答案了 我想知道如何在 JavaScript 运行时添加 删除对象的属性 如何在 JavaScript 中实现这一点 假设你的对象是myobj 那么你可以像这样添加一个成员 myobj myvar value or my
  • 使用 logrotate 每小时轮换文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我尝试设置位于 tmp hr logs 的日志文件的日志轮转 为了进行设置 我在 Linux 中使用了 logrotate 并且我可以在
  • Rails 自定义配置返回空哈希

    我正在使用 Rails 4 并且我想使用自定义配置功能 如下所述 http guides rubyonrails org configuring html custom configuration http guides rubyonrai
  • 基于行内 NA 数量的条件行删除

    我希望根据以下两个条件从数据集中删除行 如果有 3 个连续单元格 则删除行NA or 如果有四个或更多单元格NA 我的样本数据 data lt rbind c 1 1 2 3 4 2 3 2 c NA 1 NA 4 1 1 NA 2 c 1