[英]Error in splitting and writing txt files in R studio
我有一個大文件名 Objects_Population - AllCells.txt,大約 3GB,該文件有 25704373 行和 132 個變量。 我想讀取文件並根據一個變量拆分行,該變量是名為treatmentsum 的列。 在本專欄中,我有不同條件(3S 或 UNS)下的實驗性葯物治療,即以“_”鏈接的字符串。 所以拆分會將所有具有相同處理的行放在一起。 拆分文件后,我想寫出拆分文件並使用處理和給出文件名。
我的代碼如下:
#load libraries
library(tidyverse)
library(vroom)
library(dplyr)
library(stringr)
#read in the file, skip the first 9 rows
files<-vroom("Objects_Population - AllCells.txt", delim = "\t",skip = 9,col_names = T)
#split the files based on treatmentsum
splited<- files %>%
group_split(files$treatmentsum)
#write out the splitted files
output<- lapply(splited, function(i){
for (i in 1:length(splited)) {
write.table(splited[[i]][,1:131],file=paste(unique(splited[[i]]$treatmentsum),".txt"), sep="\t", row.names=FALSE)
}
})
所以當我運行它時,文件讀取正確,分割工作正常,處理按預期進行,即我得到一個 1092 的列表(顯示在環境中),每個列表包含具有相同處理的行。 但是,每次向我寫入 233 個文件后,代碼都會死亡。 錯誤我已經截屏了,生成的文件都是3S,沒有生成UNS文件(右下文件目錄截圖可以看到)。 有人可以幫我解決這個問題並讓我知道錯誤的含義嗎?
由於處理的名稱,我發現了一些文件名中會有“/”。 受此啟發https://stackoverflow.com/a/49647853/12362355
library(tidyverse)
library(vroom)
library(dplyr)
library(stringr)
files<-vroom("Objects_Population - AllCells.txt", delim = "\t",skip = 9,col_names = T)
splited<- files %>%
group_split(files$treatmentsum)
output<- lapply(splited, function(i){
for (i in 1:length(splited)) {
write.table(splited[[i]][,1:131],file=paste0(gsub("/","",unique(splited[[i]]$treatmentsum)),".txt"), sep="\t",
row.names=FALSE)
}
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.