Фильтрация данных из кратных CSV и объединение их в 1 в R - PullRequest
0 голосов
/ 27 февраля 2019

Я давно заблокирован, пытаясь отфильтровать информацию из отдельных файлов .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..

я хочу отфильтровать каждый CSV по iHS.iHS iHS..log10.p.value. по значениям, большим или равным 2=>2 сохранение всей остальной информации в своем ряду.Затем объедините отфильтрованную информацию из каждого CSV в уникальный файл CSV.

Я делал это в Excel, но это занимает много времени, и я действительно хочу оптимизировать свою работу.Как я могу решить это?

1 Ответ

0 голосов
/ 27 февраля 2019
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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...