r - 从多个CSV过滤数据并将它们合并为R中的1
问题描述
我很久以前就试图从单打 .csvs 文件中过滤信息,然后将它们合并成一个文件。
每个 CSV 都计入以下列,因行数而异:
SNP.Name
iHS.CHR
iHS.POSITION
iHS.iHS iHS..log10.p.value.
frequency.class..mrk
frequency.class.mean.log.iHHA.iHHD..
frequency.class.sd.log.iHHA.iHHD..
我想要的是iHS.iHS iHS..log10.p.value.
按大于或等于 2 的值过滤每个 CSV,=>2
保留其行中的所有其他信息。然后将每个 CSV 中过滤的信息合并到一个唯一的 CSV 文件中。
我一直在 excel 中这样做,但这需要很长时间,我真的很想优化我的工作。我该如何解决这个问题?
解决方案
library(tidyverse)
csv_files <- list.files(path = "my_folder_with_csv_files", pattern = "\\.csv$", full.names = TRUE)
# make a list of data frames of csv files in your directory
list_csv_files <- purrr::map(csv_files, ~readr::read_csv(file = .))
# assuming no errors with import...
# filter each data frame in list by condition specified in question
# then bind/merge data frames in list together into on single data frame
single_csv <- list_csv_files %>%
purrr::map(., ~dplyr::filter(., iHS.iHS iHS..log10.p.value. >= 2)) %>%
dplyr::bind_rows(.) #similar to do.call("rbind", .)
# export your single csv
readr::write_csv(single_csv, path = "my_path_to_write_to")
推荐阅读
- scala - Play 2.7 中的 RequestScoped
- python - 如何删除列中的特殊字符并将列转换为浮点数
- android - ViewPager 触摸事件与其 Fragment 中的 Draggable 视图冲突
- c - 使用 C 计算单词的数量
- html - 如何在盒子的左下角创建一个不对称三角形?
- dependency-injection - aspnetBoilerplate 中的模块是什么?
- javascript - 如何自动将 rel="noopener" 添加到 target="_blank" 链接?
- angular - Karma Jasmine - 使用组件中的服务方法
- selenium - 使用范围报告在 selenium POM 中截屏时出现空指针异常
- android - Ionic3 Opentok session.connect 不起作用;不起作用