今天替客戶做一個研究,用的是一個開源的庫,github: Participate on HypertensionCombination study
代碼有好幾個 bug, 比如 CreateCohorts.R 文件的第 25 - 41 行是創建 EXPOSURETABLE / OUTCOMETABLE 表的,但是卻被註釋掉了,導致 ca_cohort_per_protocol.sql 第 619 行刪除該表的語句報錯,直接將該語句在 SQL Developer 裏執行會說該表或視圖不存在,但是在 RGui 執行該研究的 R 程序的時候報的錯就是 invalid multibyte string, element 4。
還有 CreateCohorts.R 文件有好幾處自定義的 sql 語句的 delete from 語句如第 481 行沒有分號,同樣會報錯 invalid multibyte string 錯誤。
所以這種錯誤大多數都是被 R 調用的 SQL 出問題了,需要 debug(目前沒有好辦法,就是在 SQL 文件里加打印語句)。而不是網上所說的那種是系統編碼的問題,至少我經常碰到的都是這麼個情況。