-1
在R中,我想讀取僅包含字符的.txt文件,但是,在兩者之間沒有空格。我可以根據英語字典在R中區分嗎?例如,「oneshoulddothatheshouldalwayslearn」輸出應該是「一個應該做的是他總是學習」感謝在R中,讀取.txt文件中的單詞之間沒有空格?
在R中,我想讀取僅包含字符的.txt文件,但是,在兩者之間沒有空格。我可以根據英語字典在R中區分嗎?例如,「oneshoulddothatheshouldalwayslearn」輸出應該是「一個應該做的是他總是學習」感謝在R中,讀取.txt文件中的單詞之間沒有空格?
這裏是一個函數,它是:
unmash <- function(original, sofar=c(), rest=original, words){
for(L in 1:nchar(rest)){
finding = substr(rest,1,L)
m = grep(paste0("^",finding,"$"), words)
if(length(m)>0){
rest2 = substr(rest,L+1,nchar(rest))
if(rest2==""){
message("Original: ",original," = ",paste(c(sofar,finding),collapse=","))
}else{
unmash(original, c(sofar,finding), rest2, words)
}
}
}
}
你需要一個單詞表。我得到這個:
words = function(f){
w = scan(f,what="")
w = w[nchar(w)>1]
w = c(w,"a","i","o")
w
}
wordlist= words("/usr/share/dict/words")
其中該文件是一個標準的Unix文件,每行一個字。然而,它幾乎包含每一個字母作爲一個單詞,所以上面的函數除了a,i和o之外的大部分都被刪除了。
這裏有你的榜樣我的功能運行 - 注意有五種可能分裂成是我的詞典有效的話:
> test = "oneshoulddothatheshouldalwayslearn"
> unmash(test, words=wordlist)
Original: oneshoulddothatheshouldalwayslearn = one,should,do,that,he,should,always,learn
Original: oneshoulddothatheshouldalwayslearn = one,should,dot,ha,the,should,always,learn
Original: oneshoulddothatheshouldalwayslearn = one,should,dot,hat,he,should,always,learn
Original: oneshoulddothatheshouldalwayslearn = one,should,doth,a,the,should,always,learn
Original: oneshoulddothatheshouldalwayslearn = one,should,doth,at,he,should,always,learn
>
read.txt文件不能指定英文字典單詞。你可以用逗號,分號或任何字符串標記來分隔它們。 –
你確定它是「做那個」而不是「點頭帽子」? –
你有這樣的文件意味着它創建時出錯了。專注於修復該過程並再次創建文件。 – Roland