删除列中项目的百分比

2024-01-06

我正在尝试删除存在超过 90% NA 值的列,我已遵循以下操作,但我只得到一个值作为回报,不确定我可能做错了什么。我期待一个实际的数据框,我尝试将 as.data.frame 放在前面,但这也是错误的。

领英帖子:删除缺失超过 x% 的列/行 https://stackoverflow.com/questions/31848156/delete-columns-rows-with-more-than-x-missing

示例 DF

gene cell1 cell2 cell3 
A    0.4   0.1   NA
B    NA    NA    0.1
C    0.4   NA    0.5
D    NA    NA    0.5
E    0.5   NA    0.6
F    0.6   NA    NA

所需的DF

gene cell1  cell3 
A    0.4     NA
B    NA      0.1
C    0.4     0.5
D    NA      0.5
E    0.5     0.6
F    0.6     NA

Code

#Select Genes that have NA values for 90% of a given cell line
df_col <- df[,2:ncol(df)]
df_col <-df_col[, which(colMeans(!is.na(df_col)) > 0.9)]
df <- cbind(df[,1], df_col)

我会用dplyr here.

如果你想使用select()有了逻辑条件,您可能正在寻找where()选择助手dplyr。 它可以这样使用:select(where(condition))

我使用 80% 阈值,因为 90% 将保留所有列,因此也不会说明解决方案

library(dplyr)

df %>% select(where(~mean(is.na(.))<0.8))

也可以使用 base R 和 colMeans 来完成:

df[, c(TRUE, colMeans(is.na(df[-1]))<0.8)]

或者用咕噜声:

library(purrr)

df %>% keep(~mean(is.na(.))<0.8)

Output:

  gene cell1 cell3
1    a   0.4    NA
2    b    NA   0.1
3    c   0.4   0.5
4    d    NA   0.5
5    e   0.5   0.6
6    f   0.6    NA

Data

df<-data.frame(gene=letters[1:6],
cell1=c(0.4, NA, 0.4, NA, 0.5, 0.6),
cell2=c(0.1, rep(NA, 5)),
cell3=c(NA, 0.1, 0.5, 0.5, 0.6, NA))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除列中项目的百分比 的相关文章

随机推荐

  • GEKKO RTO 与 MPC 模式

    这是一个由此衍生的问题one https stackoverflow com questions 60761440 variable bounds in mpc with gekko 在发布我的问题后 我找到了一个解决方案 更像是强制优化器
  • 将 Admob 添加到 libgdx

    RelativeLayout layout new RelativeLayout this AndroidApplicationConfiguration config new AndroidApplicationConfiguration
  • 在 Chrome 扩展内容脚本中使用 Dart 无法运行?

    我正在尝试使用 Dart 编写 Chrome 扩展 到目前为止 除了内容脚本之外 一切都很顺利 内容脚本 dart 文件中的 main 函数似乎没有运行 更具体地说 首先 Dartium 无法使用 因为在清单中的 js 规则中给出 dart
  • 学习编程语言的工作原理

    我已经编程多年 主要是Python 但我不明白当我编译或执行代码时幕后发生了什么 本着question https stackoverflow com questions 1514812 gentle introduction to ope
  • Eclipse 调试器跳转到错误的返回语句

    我遇到了一个非常奇怪的情况 我正在 Android 2 1 平台上用 Java 通过 Eclipse Galileo 执行以下操作 Get gravity geomagnetic data to return to the caller f
  • Python:csvwriter 的问题

    我正在尝试将数据 主要是日期 布尔值和浮点数据类型 写入 CSV 文件格式 这是我的代码片段 Write data to file with open OUTPUT DIR output filename w as outputfile w
  • 合并提交第一和第二父母

    在涉及相对提交引用的 Udacity 课程中 它说 表示父提交 表示第一个父提交 和 之间的主要区别在于提交的时间 由合并创建 合并提交有两个父项 通过合并 commit 时 引用用于指示该文件的第一个父级 提交 而 2 表示第二个父级 第
  • NSPropertyListSerialization propertyListWithData 产生不兼容的转换警告/错误

    我正在尝试使用以下代码从 plist 中读取数据 NSString error NSData tempData NSData alloc initWithContentsOfFile Data plist NSDictionary temp
  • 如何通过维基百科 API 获取特定部分的文本

    我只想从维基百科页面中提取特定部分 例子 我想从维基百科文章 House 的 Parts 部分中提取文本 https en wikipedia org wiki House https en wikipedia org wiki House
  • 为什么 Javadoc 会生成不兼容的 XHTML?

    我刚刚将一些生成的 javadoc 粘贴到 eclipse 项目中 发现没有一个 HTML 是兼容的 甚至存在关闭从未打开过的标签的情况 有什么方法可以解决这个问题吗 也许是 遵守 选项 经过一番谷歌搜索后 我发现XHTML Doclet
  • Apache Spark 2.2 支持用户定义类型(UDT)吗?

    从这张 JIRA 票证中Spark 2 0 中隐藏 UserDefinedType https issues apache org jira browse SPARK 14155 似乎spark从2 0版本开始隐藏了UDT API 2 2
  • 如何制作具有三个角和阴影的图像视图

    如何制作这样一个只有三个角的图像 我尝试使用框架布局插入图像视图并使其成为原始图像的资源 添加另一个具有 3 个角的边框 src 的图像视图 但它不起作用 随着材料组件库 https github com material componen
  • Paypal 预付款和 PayFlow 与定期付款链接

    我们想在我们的应用程序中实现 Paypal 这就是我们需要的 经常性付款 试用期 优惠券代码 无需离开我们的页面即可付款 我们发现我们可以使用 Paypal Advanced Payment 和 PayFlow Link Gateway D
  • 获取对象可能为“null”。在 Angular 模板文件中

    在我的 Angular 应用程序中 我收到以下错误 对象可能为 空 问题是我收到此错误不是因为某些打字稿代码 而是因为这个 html 模板
  • HttpClient.PostAsync 第一次很慢

    经过一些基准测试后 我意识到每次启动应用程序时 第一个请求都会比下一个请求花费更多的时间 第一个平均为 500 毫秒 接下来的平均为 120 毫秒 我在 HttpClient 中设置了 cookie 并将 UseProxy 设置为 fals
  • 如何仅使用正则表达式验证 YouTube 嵌入链接

    我在我的网站中使用 YouTube 嵌入链接 我想验证该链接 就像用户粘贴嵌入链接以外的其他内容一样 那么它应该向我发出无效 URL 的警报 我已经使用了很多正则表达式 其中一些已经在我的代码中进行了评论 我只想要 YouTube 嵌入链接
  • ActiveMQ 获取入队/出队计数

    在DEBUG模式下 有一个ActiveMQ日志为 09 44 10 666 ActiveMQ Task 1 DEBUG org apache activemq broker region Queue 1687 queue demo toPa
  • 如何导航到 .java 文件而不是在类路径中指定源路径的 .class 文件?

    我在项目的 libs 文件夹下有一个预构建的 jar 以加快构建时间 但是 我想在导航到其包含的类之一时浏览该库的源代码 因此将以下行添加到 classpath 中
  • Spring Servicemix 骆驼中的 Sql 连接

    Spring Servicemix 骆驼中的 Sql 连接
  • 删除列中项目的百分比

    我正在尝试删除存在超过 90 NA 值的列 我已遵循以下操作 但我只得到一个值作为回报 不确定我可能做错了什么 我期待一个实际的数据框 我尝试将 as data frame 放在前面 但这也是错误的 领英帖子 删除缺失超过 x 的列 行 h