删除名为“NA”的列

2024-04-05

我正在处理一些 RNA-seq 计数数据,其中大约有 60,000 列包含基因名称,24 行包含样本名称。当我进行一些基因名称转换时,我留下了一堆名为NA。我知道 R 可以处理NA与典型的列名称不同,我的问题是如何删除这些列。这是我的数据的示例。

  "Gene1"  "Gene2"  "Gene3"  NA  "Gene4"
1  10       11       12      10   15
2  13       12       50      40   30
3  34       23       23      21   22

我希望它最终像

  "Gene1"  "Gene2"  "Gene3"  "Gene4"
1  10       11       12       15
2  13       12       50       30
3  34       23       23       22

我确实发现了一些对其他人有效但对我无效的 R 代码

df<-df[, grep("^(NA)", names(df), value = TRUE, invert = TRUE)]

看起来你有一个实际的NA以你的名义,而不是"NA"。前者代表缺失值,后者是一个字符串,看起来像代表缺失值的符号。使用:

df <- df[!is.na(names(df))]

插图与iris:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> names(iris)[2:3] <- NA
> head(iris)
  Sepal.Length  NA  NA Petal.Width Species
1          5.1 3.5 1.4         0.2  setosa
2          4.9 3.0 1.4         0.2  setosa
3          4.7 3.2 1.3         0.2  setosa
4          4.6 3.1 1.5         0.2  setosa
5          5.0 3.6 1.4         0.2  setosa
6          5.4 3.9 1.7         0.4  setosa
> head(iris[!is.na(names(iris))])
  Sepal.Length Petal.Width Species
1          5.1         0.2  setosa
2          4.9         0.2  setosa
3          4.7         0.2  setosa
4          4.6         0.2  setosa
5          5.0         0.2  setosa
6          5.4         0.4  setosa
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除名为“NA”的列 的相关文章

随机推荐

  • 云平台- sudo:无法解析主机[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Amazon EC2 和 openstack 上使用 Linux 作为基于云的服务器 当尝试运行时 sudo chhown ubun
  • 什么时候应该在汇编中使用显式对齐指令?

    我花了一些时间进行汇编编程 特别是 Gas 最近我了解了对齐指令 我想我已经了解了最基本的知识 但我想更深入地了解其本质以及何时使用对齐 例如 我想知道一个简单的 C switch 语句的汇编代码 我知道在某些情况下switch语句是基于跳
  • 如何使用 Node.js 中的 WebSocket (websockets/ws) 库获取客户端 IP 地址?

    我在客户端对象上找不到客户端 IP 参数 经过一番尝试找出客户端 网络浏览器 IP 地址是哪一个提供的 答案是 ws socket remoteAddress 或者如果您有权访问req via wss on connection ws re
  • 无法登录 Openshift

    我已经尝试通过 Openshift 连接到我的应用程序好几天了 但仍然没有成功 我现在不确定该去哪个论坛 因为我没有在任何地方获得帮助 1 我将通过终端并运行sudo rhc setup 我之所以使用sudo是因为没有它就无法进行下一步 2
  • 使用 git diff,如何获取添加和修改的行号?

    假设我有一个文本文件 alex bob matrix will be removed git repo 我已将其更新为 alex new line here another new line bob matrix git 在这里 我添加了行
  • wget ssl 警报握手失败

    我尝试从 https 站点下载文件并不断收到以下错误 OpenSSL error 14077410 SSL routines SSL23 GET SERVER HELLO sslv3 alert handshake failure Unab
  • 列出AWS S3存储桶中的所有对象

    我试图弄清楚如何在 Swift 中列出 AWS S3 存储桶中的所有对象 我似乎无法在互联网上的任何地方找到信息 但也许我看起来不够努力 如果有人可以向我推荐允许我执行此操作的代码 那就太好了 不知道你是否还需要它 但你可以 let cre
  • 如何在delphi 7中将unicode字符转换为ascii代码?

    是的 我们正在谈论 ASCII 代码 抱歉 我不是这里的 Delphi 开发人员 对于 Delphi 7 我会得到Mike Lischke 的免费 Unicode 库 http www soft gems net index php lib
  • 像#include 这样的预处理器指令只能放在程序代码的顶部吗?

    我已经用过 pragma函数内的指令没有错误或警告 特别是 pragma pack 但是下面的代码显示了警告incompatible implicit declaration of built in function printf int
  • 四人帮 - 设计模式 - 这些模式示例是否以过时的方式编码?

    所以为了澄清我的问题 臭名昭著的 GoF 书中的每个模式 设计模式 可重用的面向对象软件的元素 有 C 代码示例 这些是最新的吗 或者现在的 C 代码看起来有很大不同吗 我这么问是因为当我发布带有最后一个问题的代码时 许多 C 开发人员告诉
  • 九补丁与矢量图形

    我正在学习 Android UI 但不清楚为什么人们在可以使用矢量图形的情况下使用九个补丁 因为它们是可扩展的 不会出现任何像素退化 我是 Android 的初学者 所以我希望我在这里不会遗漏任何东西 但似乎构建矢量图形并使用它们会更容易
  • 为什么部分应用函数会延迟 Scala 中的类实例化?

    想象一下这段代码 class Foo println in Foo def foo a Int a 1 现在 如果我们调用 new Foo foo 将按预期创建 Foo 类的实例 in Foo res0 Int gt Int
  • Reactjs 地图函数不渲染组件

    这是错误 https i stack imgur com zmiR6 png我正在尝试渲染 createCardHotels 函数 但是 每当我运行它时 什么也没有显示 任何帮助将不胜感激 我使用地图函数来循环数据 每当我运行它时 我都可以
  • Android Studio找不到颜色样式资源

    我正在尝试使用自定义主题 AppCompat NoActionBar但是IDE throws无法找到指定资源的错误 请协助 任何帮助将不胜感激 styles xml如下
  • 网格对于 kernelUD /getverticeshr/adehabitatHR 家庭范围估计来说太小

    adehabitat HR 的文档建议使用以下代码来在创建 UD 对象后计算家庭范围的 95 内核 Calculation of the 95 percent home range ver lt getverticeshr ud 95 对于
  • 发送同步请求角度6 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想在 Angular 6 中发送这个嵌套 for 循环的同步请求 所有 for 循环都必须等待彼此响应 请举一些例子https stack
  • 如何访问iframe元素?

    当您像这样循环访问页面中的所有 iframe 时 HTML ul li li li li li li ul JS for var i 0 i lt window frames length i if window frames i getN
  • Verilog 中的大括号是什么意思?

    我很难理解 Verilog 中的以下语法 input 15 0 a 16 bit input output 31 0 result 32 bit output assign result 16 a 15 a 15 0 我知道assign语句
  • 如何获取两个日期之间的天数?

    我需要计算两个日期之间的天数 我已经检查了此链接给出的代码如何使用 JavaScript 计算两个日期之间的天数 https stackoverflow com questions 2627473 how to calculate the
  • 删除名为“NA”的列

    我正在处理一些 RNA seq 计数数据 其中大约有 60 000 列包含基因名称 24 行包含样本名称 当我进行一些基因名称转换时 我留下了一堆名为NA 我知道 R 可以处理NA与典型的列名称不同 我的问题是如何删除这些列 这是我的数据的