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