0
這是我已經問過的一個問題的一個變體,但是我認爲這是一個單獨的問題。我使用R來清理一些文本文件。這些是字母,即字符串。我使用NLP,所以這些是NLP字符串,而不是基本的R字符串。簡化版本如下所示:在R中編寫NLP字符串函數
library(NLP)
letter1 <- as.String(c("here is some text"))
letter2 <- as.String(c("and here is some more text"))
letter3 <- as.String(c("and this is the final one"))
list <- list(letter1 = letter1, letter2 = letter2, letter3 = letter3)
當我想要導出這些文本文件時,會出現問題。 (我想在一個單獨的文本文件中的每個字母,對應於它的名稱列表中的文件名)鑑於張貼在前面一個問題的解決方案,我用下面的:
for (i in 1:length(list)) {
write.csv(list[i], file=paste0("~/desktop/", names(list)[i]))
}
當我做這個,我收到一條錯誤消息,說cannot coerce class ""String"" to a data.frame
。所以我把它們轉換成R鹼基字符串,如下:
list2 <- lapply(list, function(x){
x = toString(x)
x
})
這個差不多工作。但是,輸出看起來像這樣(爲第一個):
"","letter1"
"1","here is some text"
我只想here is some text
。我不想"", "letter1", or "1," or the quotation marks around
這裏是一些文字。這可能嗎?
當你執行'write.csv'時,默認輸出coumn頭文件。嘗試在您的'write.csv()'調用中添加'col.names = FALSE'。 – MrFlick
不知道如果我把它放在錯誤的地方,但我得到'試圖設置'col.names'忽略'的警告。 – JoeF
有效的CSV必須具有列名稱。如果你不需要它們,使用'write.table'。也許'writeLines'會在這裏更好。 – Roland