r - 折叠行以删除 NA
问题描述
我有一张名为 RobertsHemp2019_20 的大桌子,看起来像这样:
'文件名' | 'CBDV-a' | 'CBDV' | 'CBD-a' |
---|---|---|---|
罗伯茨 | 不适用 | 不适用 | 不适用 |
不适用 | 413847 | 不适用 | 不适用 |
不适用 | 不适用 | 208320 | 不适用 |
不适用 | 不适用 | 不适用 | 118807 |
我想折叠行并删除 NA,使其看起来像这样:
'文件名' | 'CBDV-a' | 'CBDV' | 'CBD-a' |
---|---|---|---|
罗伯茨 | 413347 | 208320 | 118807 |
每行只有一个字符串或值。我想我想对每个列应用一个函数来删除 NA(在这里尝试过https://stackoverflow.com/a/47357833/15779611)。但我是 R 新手,无法通过collapse_column <- function(RobertsHemp2019_20,col){RobertsHemp2019_20[!is.na(RobertsHemp2019_20[,col]),col]}
命令。
解决方案
此代码适用于您的示例数据集,但您需要提供更大的示例数据,以便解决方案更加通用。在此示例数据中,您有 4 行数据和 4 列,其中只有一个非 NA 值。因此,可以将所有四行合并为一行,但在更大的数据集中,由于每列中 NA 和非 NA 值的长度不同,输出可能不一定是单行。
library(dplyr)
df %>%
summarise(across(everything(), ~ na.omit(.x)))
# A tibble: 1 x 4
FileName `CBDV-a` CBDV `CBD-a`
<chr> <dbl> <dbl> <dbl>
1 Roberts 413847 208320 118807
推荐阅读
- java - 强制 Maven 使用内部和外部依赖 jar
- c++ - 为什么我的 trie 根指针已被删除并分配为 NULL 时显示一些值?
- java - 如何通过单击 JMenuItem 执行批处理文件以在 Windows 上重新启动服务?
- c++ - 在 C++ 的编译时确定可变参数模板类实例的最大大小
- virtual-machine - 将 tmux 会话迁移到另一台远程机器
- bash - Docker-compose - 使用脚本将环境变量传递给 Flask
- android - 以类似队列的方式使用 RxJava 并暂停/启动队列
- python - 在python中显示文件夹是否包含文件
- java - Java 单一继承
- python - 如何将文本列表格式化为 2 列