很抱歉,这个问题很简单/可以在其他地方回答-我已经看过,但是作为一个新手,我似乎找不到我需要的东西。
我有一个数据框(长度),其中包含一个唯一值,我需要将其添加到其他文件中
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问题等问题提供更多一般性建议
答案 0 :(得分:0)
我已经弄清楚了如何在循环外执行此操作:
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]))
尽管如此,这似乎很尴尬且效率低下,因此,如果有人对如何更好地实现这一点有任何建议,将不胜感激!