以下代碼爲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. 使用'for'循環遍歷目錄中的所有文件
- 3. 在R中循環遍歷for循環的子目錄
- 4. 遍歷shell腳本中同一目錄下的所有文件
- 5. 循環遍歷ColdFusion中多個目錄中的所有圖像
- 6. 沒有循環遍歷所有文件
- 7. 循環遍歷所有的記錄和
- 8. 循環遍歷目錄中的所有數據庫
- 9. 如何讓這個腳本循環遍歷目錄中的所有文件?
- 10. Shellscript循環遍歷文件夾中的所有文件
- 11. 循環遍歷UITableView中的所有UITextFields
- 12. 循環遍歷R中的目錄中的所有文件,應用多個命令
- 13. Python循環遍歷目錄中的文件然後列出
- 14. 循環遍歷目錄或列表中的文件
- 15. 循環遍歷所有值
- 16. 循環遍歷.resx文件中的所有資源
- 17. 循環遍歷R中的多列
- 18. 如何遍歷c#.net中目錄中的所有文件?
- 19. Python:循環遍歷不同目錄中的文件並掃描數據
- 20. 循環遍歷Oracle表格中的所有數據塊記錄
- 21. R:遍歷目錄
- 22. Python for循環沒有循環遍歷所有項目
- 23. 在R中構建一個循環來掃描目錄中的所有文件
- 24. foreach循環不遍歷列表中的所有項目 - C#
- 25. 循環遍歷一個文件夾中的一組文件
- 26. 使用Corona和Lua遍歷目錄中的所有文件
- 27. 遍歷根目錄並獲取其中的所有文件?
- 28. Java不會遍歷大目錄中的所有文件
- 29. SQL循環遍歷表中的記錄
- 30. Python腳本循環遍歷目錄中的所有文件,刪除大小小於200 kB的任何文件
讓出'[I]]' – loki
那麼如何循環的文件? – john
您使用迭代器'i'在每次迭代中讀取一個新文件。因此,你*循環文件*,不是嗎? – loki