以下代码为R
中的所有文件。实际上我为此做了一个for循环,但是当我运行它时,它只会应用于一个文件而不是所有文件。顺便说一句,我的文件没有标题。循环遍历R中的同一目录中的所有文件
-1
A
回答
0
您使用[[
子集peaks
。但是,在使用文件名读取它之后,它是一个数据框,然后不再引用文件名。因此,你只需要摆脱[[i]]
。
for (i in filelist.coverages) {
peaks <- read.delim(i, sep='', header=F)
PeakSizes <- c(PeakSizes, peaks$V3 - peaks$V2)
}
通过使用迭代i
内read.delim()
其每次保存新文件名,每一个R会通过循环时间,peaks
将有一个新的文件的内容。
0
在您的代码中,i
正在引用名称文件。改用指数。
而且,顺便说一下,不要使用setwd
,在list.files
中使用full.names = TRUE
选项。并预先分配PeakSizes
这样的:PeakSizes <- numeric(length(filelist.coverages))
。
所以做:
filelist.coverages <- list.files('K:/prostate_cancer_porto/H3K27me3_ChIPseq/',
pattern = 'island.bed', full.names = TRUE)
##all 97 bed files
PeakSizes <- numeric(length(filelist.coverages))
for (i in seq_along(filelist.coverages)) {
peaks <- read.delim(filelist.coverages[i], sep = '', header = FALSE)
PeakSizes[i] <- peaks$V3 - peaks$V2
}
或者你可以简单地使用sapply
或purrr::map_dbl
:
sapply(filelist.coverages, function(file) {
peaks <- read.delim(file, sep = '', header = FALSE)
peaks$V3 - peaks$V2
})
相关问题
- 1. 循环遍历R中某个目录中的所有文件
- 2. 循环遍历R中的文件夹中的所有文件
- 3. 使用'for'循环遍历目录中的所有文件
- 4. 在R中循环遍历for循环的子目录
- 5. 遍历shell脚本中同一目录下的所有文件
- 6. 循环遍历ColdFusion中多个目录中的所有图像
- 7. C++循环遍历目录中的文件并写入不同的目录
- 8. 如何循环遍历目录中的所有文本文件C#
- 9. 没有循环遍历所有文件
- 10. 循环遍历所有的记录和
- 11. 循环遍历子目录批处理文件中的文件
- 12. 使用delphi中的shell循环遍历目录中的文件
- 13. 循环遍历目录中的所有数据库
- 14. 如何让这个脚本循环遍历目录中的所有文件?
- 15. Shellscript循环遍历文件夹中的所有文件
- 16. 如何遍历目录和子目录中的所有文件
- 17. 循环遍历Bash中的所有列
- 18. 循环遍历UITableView中的所有UITextFields
- 19. 循环目录中的所有文件
- 20. 循环遍历R中的目录中的所有文件,应用多个命令
- 21. 循环遍历目录或列表中的文件
- 22. 循环遍历目录中的文件并使用HEAD命令
- 23. “for”在shell中循环遍历目录
- 24. 循环遍历所有值
- 25. 循环遍历.resx文件中的所有资源
- 26. 如何循环遍历R中的列
- 27. 循环遍历R中的多列
- 28. 循环遍历R中的列表
- 29. 没有循环遍历数组中的所有项目
- 30. 如何遍历c#.net中目录中的所有文件?
让出'[I]]' – loki
那么如何循环的文件? – john
您使用迭代器'i'在每次迭代中读取一个新文件。因此,你*循环文件*,不是吗? – loki