tmcn 套件好用函數介紹

很多人用 R 在作文字探勘時,只用到 tmcn 套件的 stopwordsCN 函數清除停止詞,但其實這個套件裡面還有一些其他不錯的中文工具函數可用。

例如:

isUTF8, isGBK, isBIG5 三個函數可以偵測字串的編碼(encoding). 不過要注意的是,BIG5 編碼的繁體中文字串雖然在 isBIG5 測試會顯示 TRUE, 但在 isGBK 函數測試時,也可能會顯示 TRUE.

toTrad(簡體字串) 可以把簡體轉為繁體,toTrad(繁體字串, rev=TRUE) 可以把繁體轉為簡體。

不過 toTrad 函數在 Linux 上的 R 比較沒有問題,在 Windows 就比較麻煩,得先轉成 UTF-8 編碼。

Windows 作業系統範例:

在 Windows 環境下,使用 toTrad 時,必須先把字串的 encoding 轉成 UTF-8 ,才能簡繁互轉:

?View Code LANGUAGE
library(tmcn)
 
t1 = "這是繁體中文"
isBIG5(t1)
#[1] TRUE
isGBK(t1)
# [1] TRUE
 
toTrad(t1,rev=T) # 繁體轉簡體,失敗
# [1] "硂琌羉砰いゅ"
 
t1u = iconv(t1,"BIG5","UTF-8") # 先把繁體中文轉為 UTF-8
t1u
# [1] "這是繁體中文"
Encoding(t1u)
# [1] "UTF-8"
 
t2 = toTrad(t1u,rev=T) # 這時候繁體轉簡體就成功了
t2
# [1] "这是繁体中文"
 
Encoding(t2)
# [1] "UTF-8"

Linux 作業系統範例:

Linux 作業系統下,如果預設是 UTF-8 編碼,簡體繁體互轉就比較容易

?View Code LANGUAGE
library(tmcn)
 
t1 = "這是繁體中文"
isBIG5(t1)
#[1] FALSE
isGBK(t1)
# [1] FALSE
isUTF8(t1)
# [1] TRUE
 
toTrad(t1,rev=T)
# [1] "这是繁体中文"