从 data.frame 中删除 NA 超过列长度 15% 的列 [重复]

2024-04-19

我有一个data.frame10 个不同的列(每列的长度相同)。我想消除任何具有 'NA' 大于柱长的 15%。

我首先需要制作一个函数来计算百分比NA对于每一列,然后再制作另一列data.frame我在哪里应用该函数?最好的方法是什么?


首先,分享一些示例数据总是好的。它不需要是您的实际数据——编造的数据就可以。

set.seed(1)
x <- rnorm(1000)
x[sample(1000, 150)] <- NA
mydf <- data.frame(matrix(x, ncol = 10))

其次,您可以使用内置函数来获得您需要的东西。这里,is.na(mydf)进行逻辑检查并返回data.frame of TRUE and FALSE. Since TRUE and FALSE等于1 and 0,我们可以使用colMeans得到数量的平均值TRUE (is NA)值。反过来,可以根据您的规定检查,在本例中哪些列的比例超过 15%NA values?

colMeans(is.na(mydf)) > .15
#    X1    X2    X3    X4    X5    X6    X7    X8    X9   X10 
#  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE

正如我们所看到的,我们应该删除 X1、X2、X6、X8 和 X9。同样,利用逻辑向量,方法如下:

> final <- mydf[, colMeans(is.na(mydf)) <= .15]
> dim(final)
[1] 100   5
> names(final)
[1] "X3"  "X4"  "X5"  "X7"  "X10"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 data.frame 中删除 NA 超过列长度 15% 的列 [重复] 的相关文章

  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11
  • 如何处理重叠的因子水平? (例如,生成表格和图表时)

    我面临一个数据集的问题重叠因素水平 我想按因素级别生成时间线 条形图和统计数据 但是 我希望因子水平是模棱两可的 这意味着属于多个级别的观察结果应该在图中出现多次 这是我的数据结构的示例 head lt c ID YEAR BRAZIL G
  • 为 RStudio Server 1.0.44 配置日志目录

    我在 CentOS 7 上运行 RStudio Server 1 0 44 根据文档 https support rstudio com hc en us articles 200554766 RStudio Server Applicat
  • 熊猫滚动意味着更新

    考虑数据框 df pd DataFrame a None None None None 1 2 1 0 1 b 5 4 6 7 None None None None None gt gt a b 0 NaN 5 0 1 NaN 4 0 2
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • 如何从数据框的单元格中获取值?

    我构建了一个条件 从我的数据框中提取一行 d2 df df l ext l ext df item item df wn wn df wd 1 现在我想从特定列中获取一个值 val d2 col name 但结果 我得到一个包含一行和一列
  • R markdown 引文标识符

    R markdown 允许使用 YAML 元数据部分中的参考书目元数据字段指定参考书目文件 例如 title Sample Document output html document bibliography bibliography bi
  • 如何更改 Quarto pptx 中的字体格式

    我正在 R 中使用 Quarto 创建 pptx 要更改我尝试更改的默认字体格式mainfont范围 但是当我渲染它时 最终的 pptx 文件具有默认字体 Calibri 这是我的文件 YAML 将 Quarto 文件渲染为 pptx 时如
  • (R 错误)错误:cons 内存耗尽(达到限制?)

    我正在处理大数据 并且有一个 70GB 的 JSON 文件 我正在使用 jsonlite 库将文件加载到内存中 我尝试过 AWS EC2 x1 16large 机器 976 GB RAM 来执行此负载 但 R 因错误而中断 Error co
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • R 中使用 randomForest 进行内存高效预测

    TL DR我想知道使用基于大型数据集 数百个特征 数十万行 构建的随机森林模型执行批量预测的内存有效方法 Details 我正在处理一个大型数据集 内存中超过 3GB 并且想要使用以下方法进行简单的二进制分类randomForest 由于我
  • 我可以在 R 中并行读取 1 个大 CSV 文件吗? [复制]

    这个问题在这里已经有答案了 我有一个很大的 csv 文件 需要很长时间才能阅读 我可以使用 parallel 或相关的包在 R 中并行读取此内容吗 我尝试过使用 mclapply 但它不起作用 根据OP的评论 fread来自data tab
  • 如何 json_normalize() df 中的特定字段并保留其他列? [复制]

    这个问题在这里已经有答案了 这是我的简单示例 我的实际数据集中的 json 字段非常嵌套 因此我一次解压一层 我需要在 json normalize 之后保留数据集上的某些列 https pandas pydata org docs ref
  • 如何将环境变量传递给shinyapps

    我想将安全参数传递给shinyapps io部署 以便我的应用程序可以通过以下方式获取它们 Sys getenv PASSWORD X 我找不到任何相关内容deployApp函数在rsconnect包裹 您可以使用Renviron网站 or
  • 粘贴两个 data.table 列

    dt lt data table L 1 5 A letters 7 11 B letters 12 16 L A B 1 1 g l 2 2 h m 3 3 i n 4 4 j o 5 5 k p 现在我想粘贴列 A 和 B 以获得一个新
  • 如何在knitr中安装软件包?

    到目前为止 我一直在使用这段代码来加载 R 包并编写 R 文件 但我正在尝试使用knitr rm list ls all TRUE kpacks lt c ggplot2 install github devtools mapdata ne
  • 如何在折线图中显示 Sep-12 格式的数据并抑制网格线和灰色背景?

    我正在努力使日期格式正确 数据已经是melt 格式 数据中有四个变量碰巧共享相同的数据 我只是想绘制一个简单的四线折线图 每个变量作为一条单独的线 并将 Sep 12 显示为最新数据点 我正在使用旧的 ggplot 请随意 我有两个问题 第
  • 如何缩放(标准化)每列内的 ggplot2 stat_bin2d 值(按 X 轴)

    我有一个 ggplot stat bin2d 热图 library ggplot2 value lt rep 1 5 1000 df lt as data frame value df group lt rep 1 7 len 5000 d
  • 如何在r中进行左连接[重复]

    这个问题在这里已经有答案了 我有两个数据集一和二 数据集一 a b c 111 a 1 112 b 2 113 c 3 114 d 4 115 e 5 数据集二 e d g 222 ss 11 111 ff 22 113 ww 33 114
  • R 编程中的字符串分割

    目前 下面的脚本将组合的项目代码拆分为特定的项目代码 rule2 lt c MR df 1 lt test grep paste rule2 sep collapse test Name y SpaceName 1 lt function

随机推荐

  • 发送一系列命令并等待响应

    我必须更新连接到串行端口的设备上的固件和设置 由于这是通过一系列命令完成的 因此我发送命令并等待收到答案 在答案 多行 中 我搜索一个字符串 该字符串指示操作是否成功完成 Serial gt write boot 1000 Serial g
  • C# 中的图像处理库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 从哪里可以获得 C Net 中的图像处理库 edit 在这里查看列表https github com quozd awesome dotn
  • 使用 ConcurrentHashMap 避免空指针异常

    我知道这个问题已被问过多次 但我没有找到该问题的正确答案 从 ConcurrentHashMap 获取结果时如何避免抛出 NullPointerException 我有下面的代码 它向我抛出一个空指针 public static Strin
  • Python C Api 将 PyObject * 传输到 c 数组中

    我使用 python c api 并希望从 python 返回一个数组 我从 python 端返回了一个 python 数组 并希望将 PyObject 结果传输到一个 c 数组中 以便我可以使用它 我能做到吗 附带问题 在什么情况下尝试返
  • Objective C 中 NSArray、NSDictionary 等类的可变和不可变版本背后的逻辑是什么?

    为什么 Objective C 中常见的集合类 如 NSString NSArray NSDictionary 等 有可变版本和不可变版本 分别定义它们背后的逻辑是什么 性能 内存管理还是其他什么 类的不可变版本之所以存在 是因为不可变对象
  • Ruby 访问哈希元素

    我有以下哈希 title gt ga browser Firefox dimensions gt browser gt Firefox metrics gt pageviews gt 25474 id gt http www google
  • navigator.language 所有语言的列表

    我在哪里可以看到语言及其代码列表 我想比较语言并在模板中自动选择所需的语言 它们跨浏览器相同吗 还有其他解决方案吗 出于复制和粘贴目的 af af NA af ZA agq agq CM ak ak GH am am ET ar ar 00
  • 如何在 gdb 上进行 grep 打印

    有没有办法在 gdb 中 grep 打印命令的输出 就我而言 我正在使用 gdb 调试核心转储 并且我正在调试的对象包含大量元素 我发现很难寻找匹配的属性 即 gdb print this grep
  • Java Collat​​or 与 MySQL 的 utf8_general_ci 排序规则具有相似的特性

    有没有Collator与MySQL的utf8 general ci具有相同特征的实现 我需要一个不区分大小写的整理器不区分德语元音变音如 与元音a 背景 我们最近遇到了一个错误 该错误是由表中的错误排序规则引起的 使用的排序规则是utf8
  • Xamarin 表单从可绑定属性更新视图模型字段

    我觉得我错过了一些非常明显的东西 我有一个自定义控件 它有一个视图模型 其中包含一堆字段 但此示例中最重要的是文本值 我可以使用自定义控件 XAML 中的以下内容非常轻松地绑定到它
  • 获取 Spotify 当前播放的曲目

    编辑 让我们尝试澄清这一切 我正在编写一个 python 脚本 我希望它告诉我 Spotify 当前正在播放的歌曲 我尝试寻找可以帮助我的库 但没有找到任何仍在维护和工作的库 我还浏览了 Spotify 的 Web API 但它没有提供任何
  • Rails + Cucumber/Capybara:如何在测试中设置/检索 cookie?

    我正在实现延迟登录功能 我的黄瓜功能应该描述它 Feature User log in Scenario Lazy login Given I didn t log out the last time I was on the site W
  • Qt 在信号/槽中使用 boost::shared_ptr

    是否可能 如果可以 如何在 Qt 中创建一个对共享指针常量引用的信号 槽 我想要一个如下所示的信号 void signal shared ptr
  • Python 电子邮件机器人 Pyzmail/IMAPclient 错误

    所以我正在编写一个Python脚本来从电子邮件中提取文本并遵循这些说明 https automatetheboringstuff com chapter16 这样做 这是迄今为止的脚本 import imapclient import pp
  • JavaScript - 获取浏览器支持的区域设置的完整列表

    我发现了支持的语言环境 https developer mozilla org en US docs Web JavaScript Reference Global Objects DateTimeFormat supportedLocal
  • 如何清除/删除 Knockout.js 中的可观察绑定?

    我正在将功能构建到用户可以多次执行的网页上 通过用户的操作 创建一个对象 模型并使用 ko applyBindings 将其应用于 HTML 数据绑定 HTML 是通过 jQuery 模板创建的 到目前为止 一切都很好 当我通过创建第二个对
  • C 中的临时对象

    在 C11 中 术语temporary lifetime被定义为 C11 6 2 4p8 结构体或联合体类型的非左值表达式 其中结构体或联合体包含数组类型的成员 递归地包括所有包含的结构体和联合体的成员 是指具有自动存储期限和临时生存期的对
  • 为什么 HTML 5 音频忽略移动设备音频设置(例如静音或音量)?

    我有一个针对移动 Android 用户的网站 我正在使用 HTML5 音频来播放背景音乐 即使设备处于静音状态也会播放音频 无论设备音量设置如何 音频都会以最高音量播放 有谁知道为什么会发生这些事情或如何获取设备当前的音频设置 我更喜欢客户
  • 在 Azure 服务总线命名空间上启用 CORS

    我想在 JavaScript 中使用 Azure 服务总线 REST API 不幸的是 我遇到了跨源问题 因为我的服务总线命名空间与我的站点不在同一域中 我知道您可以使用许多 Azure 服务启用 CORS 但我在 Azure 文档或其他地
  • 从 data.frame 中删除 NA 超过列长度 15% 的列 [重复]

    这个问题在这里已经有答案了 我有一个data frame10 个不同的列 每列的长度相同 我想消除任何具有 NA 大于柱长的 15 我首先需要制作一个函数来计算百分比NA对于每一列 然后再制作另一列data frame我在哪里应用该函数 最