Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R studio中拆分和写入txt文件时出错_R_File Writing_Filesplitting_Txt - Fatal编程技术网

在R studio中拆分和写入txt文件时出错

在R studio中拆分和写入txt文件时出错,r,file-writing,filesplitting,txt,R,File Writing,Filesplitting,Txt,我有一个大文件名Objects_Population-AllCells.txt,大约3GB,这个文件有25704373行和132个变量。我想读取文件并基于一个变量(名为treatmentsum的列)拆分行。在本专栏中,我介绍了不同条件下(3S或UNS)的实验性药物治疗,即字符串与“\ux”相连。因此,拆分将把具有相同处理的所有行放在一起。分割文件后,我想写出分割的文件,并使用treatmentsum给出文件名 我的代码如下: #load libraries library(tidyverse)

我有一个大文件名Objects_Population-AllCells.txt,大约3GB,这个文件有25704373行和132个变量。我想读取文件并基于一个变量(名为treatmentsum的列)拆分行。在本专栏中,我介绍了不同条件下(3S或UNS)的实验性药物治疗,即字符串与“\ux”相连。因此,拆分将把具有相同处理的所有行放在一起。分割文件后,我想写出分割的文件,并使用treatmentsum给出文件名

我的代码如下:

#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)

  }
 })
#加载库
图书馆(tidyverse)
图书馆(vroom)
图书馆(dplyr)
图书馆(stringr)
#读取文件,跳过前9行

文件我计算出了一些文件名,因为治疗名称中会有“/”。受此启发

库(tidyverse)
图书馆(vroom)
图书馆(dplyr)
图书馆(stringr)

文件尝试打印出循环中粘贴(唯一(拆分[[i]]$treatmentsum),“.txt”)
的值。您确定每次都提供有效的文件名吗?没有任何@MrFlick的帮助是非常困难的。嗨,很抱歉我的工作太草率了。我不知道如何显示完整文件,因为最小/采样可能没有解决问题。我正在试着对文件进行二次采样,看看效果如何。我按照你的建议打印了姓名,1092个不同的姓名按预期打印出来。@MrFlick仍然不起作用。嗯,有没有可能直接给你发信息或者给你发一个二次抽样的文件来测试?@MrFlick实际上我想我知道了,听我说。新的txt文件名包含“/”(多亏了生物学),从我读到的内容来看,这可能会在编写时造成问题。所以我把/,它现在写了233个以上的文件。
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)

  }
 })