我有一个包含2列,DOCS和TEXT的数据框
DOCS TEXT
1 tanaman jagung seumur jagung
2 tanaman jagung kacang ketimun rusak dimakan kelinci
3 ladang diserbu kelinci tanaman jagung kacang ketimun rusak dimakan
4 ladang diserbu kelinci tanaman jagung kacang ketimun rusak dimakan
5 ladang diserbu kelinci tanaman jagung kacang ketimun rusak
我想使多个文件.txts与id的数目一样多,每个文件包含不同的内容(每1个txt文件在TEXT列中包含1行文本)。因此,如果我有5个文档-> 5个具有不同内容的文件.txt
我已经尝试过此代码
for (j in 1:nrow(dataframe)) {
mytitle <- format("docs")
myfile <- file.path(getwd(), paste0(mytitle, "_", j, ".txt"))
write.table(dataframe$TEXT, file = myfile, sep = "", row.names = FALSE, col.names = FALSE,
quote = FALSE, append = FALSE)
}
但是结果包含5个file.txt,其中每个文件的内容都相同,包含“ TEXT”列中的所有行。
我建议您也尝试以下操作,而不要使用可能会使您感到困惑的for循环
# Create a data frame
DOCS <- c(1:5)
TEXT <- c("tanaman jagung seumur jagung " ,
"tanaman jagung kacang ketimun rusak dimakan kelinci" ,
"ladang diserbu kelinci tanaman jagung kacang ketimun rusak dimakan" ,
"ladang diserbu kelinci tanaman jagung kacang ketimun rusak dimakan" ,
"ladang diserbu kelinci tanaman jagung kacang ketimun rusak ")
df <- data.frame(DOCS , TEXT , Test)
# Convert to matrix
M <- as.matrix(df)
# Create a function that will write every single file
write_file <- function(file){
my_title <- format("docs")
file_name <- file.path(paste0( my_title , "_" , file[1] , ".txt"))
file_content <- file[2]
write.table(file_content , file = file_name , append = F , row.names = F
, col.names = F , quote = F)
}
# Use the apply function to pass each row in matrix to the
# function that creates every single file
apply(M , 1 , write_file)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句