簡體   English   中英

在R studio中拆分和寫入txt文件時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM