以下代碼爲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