Как добавить столбец в несколько фреймов данных на основе информации из другого фрейма данных - PullRequest
0 голосов
/ 11 февраля 2019

Извиняюсь, если этот вопрос прост / на него ответили в другом месте - я смотрел, но как новичок я не могу найти то, что мне нужно.

У меня есть фрейм данных (длина), который содержит уникальное значение, которое мне нужно добавить в разные файлы

View(Length)
        File_name                                                 Transcript_length                                                                 <d
    1 sample15.fasta.out_alternative.out_contig.copynumber.csv          89229486
    2 sample16.fasta.out_alternative.out_contig.copynumber.csv          70908644
    3 sample2.fasta.out_alternative.out_contig.copynumber.csv           56017470
    4 sample28.fasta.out_alternative.out_contig.copynumber.csv          94888762
    5 sample30.fasta.out_alternative.out_contig.copynumber.csv         106260465
    6 sample31.fasta.out_alternative.out_contig.copynumber.csv          91189772

Затем я импортировал и начал манипулировать этими copy.number.csvфайлы, но нужно добавить новый столбец, который содержит значение, соответствующее имени файла?

Попытка 1:

  #import copynumber data
import2 <- list.files(pattern="*copynumber.csv", full.names = TRUE)
list2env(
  lapply(setNames(import2, make.names(gsub("$", "", import))),
         read.csv, sep = ""),
  envir = .GlobalEnv)
CN_files <- lapply(import2, read.csv, sep = "")
names(CN_files) <- gsub("$", "", import2)

#then manipulate 
for (f in 1:length(CN_files)) {

  names(CN_files[[f]]) <- c("Family", "Element", "Length", "Fragments", "Copies", "Solo_LTR", "Total_Bp", "Cover") 

как мне затем добавить значения длины стенограммы в новый столбец на основев конкретном файле copynumber.csv, предоставленном предыдущим фреймом данных?

Любая помощь, высоко оцененная, опять же, я новичок в этом, поэтому не стесняйтесь давать более общие советы о том, как сформулировать вопрос R и т. д.

1 Ответ

0 голосов
/ 12 февраля 2019

Я разработал, как сделать это вне цикла, так:

CN_files[[1]] <- CN_files[[1]] %>% mutate(bp = Length$Transcript_length[1])
CN_files[[2]] <- (CN_files[[2]] %>% mutate(bp = Length$Transcript_length[2]))
CN_files[[3]] <- (CN_files[[3]] %>% mutate(bp = Length$Transcript_length[3]))
CN_files[[4]] <- (CN_files[[4]] %>% mutate(bp = Length$Transcript_length[4]))  
CN_files[[5]] <- (CN_files[[5]] %>% mutate(bp = Length$Transcript_length[5]))
CN_files[[6]] <- (CN_files[[6]] %>% mutate(bp = Length$Transcript_length[6]))
CN_files[[7]] <- (CN_files[[7]] %>% mutate(bp = Length$Transcript_length[7]))  
CN_files[[8]] <- (CN_files[[8]] %>% mutate(bp = Length$Transcript_length[8]))
CN_files[[9]] <- (CN_files[[9]] %>% mutate(bp = Length$Transcript_length[9]))

Тем не менее, это кажется довольно неловким и неэффективным, так что если у кого-то есть какие-либо советы, как лучше подойти к этому вопросуэто будет с благодарностью!

  • Обратите внимание, было известно, что порядок файлов в списке был таким же, как и у файла данных "Длина" -
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...