将CSV单元格内容导出为.txt,其内容为文件名(R)
我想将列中每个单元格的内容导出到单个.txt文件,同时单元格的内容也作为文件名.txt文件。我在下面的R中有这个脚本,但由于某些原因,循环i in 1:length()
仅适用于列,即列A:Z,但不适用行A1:A26。将CSV单元格内容导出为.txt,其内容为文件名(R)
任何帮助让这个脚本导出行的内容A1:A26将不胜感激!
上下文:这是为了从自然语言处理的CSV中的非结构化文本创建MALLET语料库。
filenames <- names(NLPL)
for (i in 1:length(NLPL)){
outname <- paste("", filenames[i], ".txt", sep= "")
write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F)
}
你可以以同样的方式为1:length(NLPL)
或1:ncol(NLPL)
使用1:nrow(NLPL)
,但我更喜欢使用seq_along()
。
对于列,我使用seq_along(NLPL)
,对于行,我使用seq_along(NLPL[,1])
。也许有人知道比[,1]
更好的方式来指定我们沿着一列来看序列。
对于行:
filenames <- names(NLPL)
for (i in seq_along(NLPL[,1])){
outname <- paste("", filenames[i], ".txt", sep= "")
write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F)
}
对于列:
filenames <- names(NLPL)
for (i in seq_along(NLPL)){
outname <- paste("", filenames[i], ".txt", sep= "")
write.table(NLPL[[i]], outname, col.names= F, row.names= F, quote= F)
}
Upvoted。 'seq_along()'是专业人士使用的;见例如R本身有许多R函数。 –
谢谢,我仍然在使用'seq_along()'时使用'subset2(x,i,exact = exact):下标越界'时出错,正如我使用'nrow()' - 尝试了解更多这个错误。 –
这是for循环内的子集内的问题。试着打印我,你会发现它给出了正确的索引。现在调整您的代码以正确使用这些索引 –
尝试使用'nrow',而不是'length'。 – ytk
感谢@ytk,我以前试过,但我得到了'.subset2(x,i,exact = exact)中的错误:下标超出范围' –