
前兩天有個朋友問我,他們在做一個國際合作項目,用的是一套在國外已經(jīng)驗證過的患者報告結(jié)局量表。現(xiàn)在需要把量表翻譯成中文,同時還得把翻譯后的數(shù)據(jù)導(dǎo)出來進(jìn)行分析。說實話,這個問題看起來簡單,但真要搞清楚里面的門道,還是需要花點心思的。
我自己之前也接觸過不少類似的項目,今天就趁著這個機(jī)會,把電子量表翻譯后數(shù)據(jù)導(dǎo)出的那些事兒一次性說清楚。文章可能會有些地方想到哪說到哪,力求還原最真實的工作場景。
說到數(shù)據(jù)導(dǎo)出,得先回到最基本的問題:電子量表到底是怎么存儲數(shù)據(jù)的。
傳統(tǒng)的紙質(zhì)量表,填寫完成后就是一張紙,數(shù)據(jù)需要人工錄入電腦。而電子量表就不一樣了,它本身就是數(shù)字化的,填寫的過程其實就是數(shù)據(jù)生成的過程。每道題的答案、填寫時間、甚至是答題軌跡,都會被系統(tǒng)記錄下來。
那"數(shù)據(jù)導(dǎo)出"是什么呢?簡單來說,就是把這些記錄在系統(tǒng)里的數(shù)據(jù),轉(zhuǎn)換成可以進(jìn)一步分析處理的格式。比如導(dǎo)出成Excel表格,這樣可以用統(tǒng)計軟件做分析;或者直接導(dǎo)出成統(tǒng)計軟件能識別的格式,比如SPSS的sav文件。
很多人會忽略一個關(guān)鍵點:量表經(jīng)過翻譯之后,數(shù)據(jù)導(dǎo)出的方式可能需要調(diào)整。這是因為量表里的文字變了,但數(shù)據(jù)的編碼體系、變量結(jié)構(gòu)這些核心內(nèi)容需要保持和國際版本一致。這一點特別重要,我后面會詳細(xì)說。

在討論數(shù)據(jù)導(dǎo)出之前,有必要先了解一下電子量表系統(tǒng)的幾種常見類型。不同類型的系統(tǒng),數(shù)據(jù)導(dǎo)出的邏輯和復(fù)雜度差異挺大的。
第一種是專業(yè)的電子數(shù)據(jù)采集系統(tǒng),比如REDCap、Questback、Medidata Rave這些。這類系統(tǒng)功能強(qiáng)大,數(shù)據(jù)結(jié)構(gòu)設(shè)計規(guī)范,導(dǎo)出選項通常也比較完善。在這類系統(tǒng)上做量表翻譯,數(shù)據(jù)導(dǎo)出相對標(biāo)準(zhǔn)化,只要配置得當(dāng),基本不會出什么大問題。
第二種是通用的問卷調(diào)查平臺,比如SurveyMonkey、問卷星、騰訊問卷等。這類平臺主要是用來收集問卷數(shù)據(jù)的,雖然也支持量表類問卷,但專業(yè)性相對弱一些。導(dǎo)出功能基本是通用的,不太能區(qū)分"量表"和"普通問卷"的差異。如果量表比較復(fù)雜,可能需要額外的數(shù)據(jù)清洗工作。
第三種是定制開發(fā)的電子量表系統(tǒng),有些研究機(jī)構(gòu)或藥企會自己開發(fā)系統(tǒng),專門用來管理特定類型的量表。這類系統(tǒng)的數(shù)據(jù)導(dǎo)出完全取決于開發(fā)時的設(shè)計,有的做得很完善,有的可能只有簡單的導(dǎo)出功能,甚至需要找技術(shù)人員幫忙寫腳本才能拿到想要的數(shù)據(jù)格式。
了解系統(tǒng)類型的好處是,當(dāng)你遇到數(shù)據(jù)導(dǎo)出的問題時,大概能判斷是系統(tǒng)本身的功能限制,還是操作方法的問題。康茂峰在處理各類電子量表系統(tǒng)時積累了豐富經(jīng)驗,不管面對哪種系統(tǒng),都能找到合適的解決方案。
數(shù)據(jù)導(dǎo)出格式的選擇,看起來是個技術(shù)問題,其實更多是取決于后續(xù)的數(shù)據(jù)分析需求。不同格式有不同的特點,我來逐一說說。
| 格式 | 特點 | 適用場景 |
| Excel(.xlsx/.xls) | 通用性強(qiáng),幾乎所有電腦都能打開;可以直觀看到數(shù)據(jù);支持簡單的數(shù)據(jù)處理和圖表制作 | 初步數(shù)據(jù)檢查、簡單統(tǒng)計分析、與非專業(yè)人員共享 |
| CSV(.csv) | 純文本格式,文件小;跨平臺兼容性好;不會丟失數(shù)據(jù)格式 | 大規(guī)模數(shù)據(jù)交換、編程處理、數(shù)據(jù)庫導(dǎo)入 |
| SPSS(.sav/.por) | 專業(yè)的統(tǒng)計軟件格式;支持變量標(biāo)簽、值標(biāo)簽等元數(shù)據(jù);統(tǒng)計分析功能強(qiáng)大 | 學(xué)術(shù)研究、復(fù)雜的統(tǒng)計分析、科研論文撰寫 |
| Stata(.dta) | 另一個專業(yè)的統(tǒng)計軟件格式;處理面板數(shù)據(jù)有優(yōu)勢;命令操作效率高 | 計量經(jīng)濟(jì)學(xué)分析、縱向研究數(shù)據(jù)分析 |
| SAS(.sas7bdat) | 醫(yī)藥行業(yè)常用的格式;處理大數(shù)據(jù)集能力強(qiáng);臨床試驗數(shù)據(jù)分析首選 | 臨床試驗、制藥行業(yè)研究、監(jiān)管申報 |
這里我想特別提一下Excel格式。很多人覺得Excel不夠"專業(yè)",但實際上在量表數(shù)據(jù)導(dǎo)出的初期階段,Excel是最實用的格式。為什么呢?因為你可以直觀地看到每一條記錄、每一個值,方便檢查翻譯后的數(shù)據(jù)有沒有問題。比如,量表里的選項是"1=完全沒有,2=偶爾,3=有時,4=經(jīng)常,5=總是",導(dǎo)出后檢查一下有沒有超出這個范圍的值,這一步用Excel看最方便。
當(dāng)然,如果你的分析要用到SPSS或者Stata,那直接導(dǎo)出成對應(yīng)格式會省去后續(xù)導(dǎo)入的麻煩。需要注意的是,導(dǎo)出的文件最好保留完整的元數(shù)據(jù),包括變量標(biāo)簽、值標(biāo)簽、測量尺度等。這些信息對于后續(xù)的數(shù)據(jù)分析和結(jié)果解讀非常重要。
好,現(xiàn)在進(jìn)入正題:量表翻譯之后,數(shù)據(jù)導(dǎo)出有哪些特別需要注意的地方。
這是最重要的一點,沒有之一。
假設(shè)原版量表第五題的選項是:1=Never, 2=Rarely, 3=Sometimes, 4=Often, 5=Always。翻譯成中文后,選項變成了"1=從不,2=偶爾,3=有時,4=經(jīng)常,5=總是"。這時候,數(shù)字編碼絕對不能變。變的是選項的文字,不是編碼。
有些電子系統(tǒng)支持多語言版本,翻譯后會自動生成新的語言字段。這時候要特別留意:不同語言版本的同一道題,是不是用的同一套編碼。如果系統(tǒng)設(shè)計不當(dāng),翻譯后可能重新生成一套編碼,比如中文版本用A、B、C、D、E,而英文版本用1、2、3、4、5,那就亂套了。
檢查方法是隨便導(dǎo)出幾條記錄,看看不同語言版本的同一道題,數(shù)字是不是完全一致。如果不一致,后續(xù)的所有分析都要重新做編碼映射工作量會非常大。
變量名,就是每道題在數(shù)據(jù)表里的列名,比如Q1、Q2a、SCO1這樣的。變量標(biāo)簽是對變量的說明,比如"過去一周內(nèi)感到沮喪的頻率"。
翻譯之后,變量名通常不建議改變,因為變量名是數(shù)據(jù)的"身份證",很多分析腳本是根據(jù)變量名來識別變量的。改了變量名,原來寫的分析程序就運(yùn)行不了了。
但變量標(biāo)簽可以翻譯成中文,這樣方便中國團(tuán)隊查看和理解數(shù)據(jù)。比如原來變量標(biāo)簽是"How often did you feel depressed in the past week",翻譯后可以寫成"過去一周內(nèi)感到沮喪的頻率"。
有些系統(tǒng)在導(dǎo)出時可以選擇是否包含變量標(biāo)簽,務(wù)必選擇包含。一份完整的數(shù)據(jù)字典對于后續(xù)的數(shù)據(jù)管理太重要了。
很多量表有總分或者子量表分?jǐn)?shù)的計算。比如一套焦慮量表可能有7道題,總分是7道題得分之和,子量表分?jǐn)?shù)可能是其中4道題的得分之和。
翻譯之后,這些計算邏輯要不要改?原則上不要改。計算公式是基于編碼的,編碼沒變,公式就不需要變。但有一種情況要注意:有些量表的計分規(guī)則是"反向計分",比如第3題和第5題的選項是反向的,得分越高代表癥狀越輕。這時候要看翻譯后的選項是不是保持了這種反向關(guān)系。
更穩(wěn)妥的做法是,在正式導(dǎo)出數(shù)據(jù)之前,先導(dǎo)出一小部分樣本,手動計算幾份總分,和系統(tǒng)自動計算的總分對照一下,確認(rèn)計算邏輯沒有問題。
數(shù)據(jù)導(dǎo)出時,缺失值的表示方式需要關(guān)注。常見的缺失值表示有:空值、NA、-999、999、.(點號)等。不同的統(tǒng)計軟件默認(rèn)的缺失值表示可能不一樣。
還有一種情況是"不適用"或"跳答"導(dǎo)致的缺失。比如第8題是"是否曾經(jīng)流產(chǎn)",如果用戶選擇"否",那么第9題"流產(chǎn)時的孕周"就不應(yīng)該被回答,這種情況下第9題應(yīng)該記為缺失,而不是0或空。
導(dǎo)出前最好確認(rèn)一下系統(tǒng)對缺失值的處理方式,導(dǎo)出后在數(shù)據(jù)字典里明確說明缺失值的編碼規(guī)則。否則數(shù)據(jù)分析時可能會把不該算缺失的數(shù)據(jù)當(dāng)作缺失處理,或者反過來。
說完了理論層面的注意事項,再聊聊實際操作中經(jīng)常遇到的問題。這些都是實際工作中總結(jié)出來的經(jīng)驗,應(yīng)該會對你有幫助。
這個問題太常見了。導(dǎo)出的Excel打開后,中文顯示成一堆問號或者方塊,大多數(shù)情況下是編碼問題。
解決方法有幾個層次。最簡單的是用Excel的"數(shù)據(jù)-從文本/CSV"導(dǎo)入功能,在導(dǎo)入時選擇合適的編碼,通常是UTF-8或者GB2312。如果這樣還不行,可以先把數(shù)據(jù)導(dǎo)出成CSV格式,然后用記事本打開,另存為時選擇編碼為UTF-8 BOM或者GBK,最后再用Excel打開。
康茂峰在處理多語言量表數(shù)據(jù)導(dǎo)出時,一般會建議客戶在系統(tǒng)層面就做好編碼配置,避免到導(dǎo)出這一步才發(fā)現(xiàn)亂碼問題。畢竟,數(shù)據(jù)一旦亂碼,檢查和修復(fù)都很麻煩。
如果你的項目不止一個語言版本,比如有中文、英文、日文三個版本,那么數(shù)據(jù)導(dǎo)出和管理會復(fù)雜一些。
一種做法是每個語言版本單獨導(dǎo)出,分開管理。這種方式簡單,但不同版本之間的數(shù)據(jù)對比需要手動維護(hù)一個對照表。
另一種做法是導(dǎo)出成"長格式"的數(shù)據(jù)表,每一行記錄包含:受訪者ID、語言版本、各題得分等。這樣不同語言的同一受訪者的數(shù)據(jù)是連續(xù)的,便于對比分析。
還有一種做法是在導(dǎo)出時就加上語言標(biāo)識字段,比如language="zh-CN"、language="en-US"這樣,后續(xù)用Python或R處理的時候可以很方便地按語言篩選。
選擇哪種方式,取決于你的分析需求。但不管選哪種,一定要有一個唯一標(biāo)識符能夠關(guān)聯(lián)同一受訪者在不同語言版本中的數(shù)據(jù)。很多項目到分析階段才發(fā)現(xiàn)沒辦法把不同語言的數(shù)據(jù)關(guān)聯(lián)起來,就是因為當(dāng)初沒有規(guī)劃好標(biāo)識符的生成規(guī)則。
有時候?qū)С龊蟀l(fā)現(xiàn)數(shù)據(jù)條數(shù)不對,比預(yù)期少。這可能有幾種原因。
第一種是系統(tǒng)設(shè)置了數(shù)據(jù)篩選條件,比如只導(dǎo)出完成作答的記錄,或者只導(dǎo)出某個時間段的數(shù)據(jù)。這時候需要檢查導(dǎo)出設(shè)置,把篩選條件取消或者調(diào)整。
第二種是存在重復(fù)記錄。有些系統(tǒng)允許重復(fù)提交,如果不加控制,會導(dǎo)出多份同樣的數(shù)據(jù)。這種情況需要在導(dǎo)出前做去重處理,或者在分析時根據(jù)時間戳取最新的記錄。
第三種是數(shù)據(jù)分批存儲的問題。有些系統(tǒng)會把數(shù)據(jù)分散存儲在不同數(shù)據(jù)表或不同字段里,導(dǎo)出時沒有完整包含所有部分。這種情況需要仔細(xì)閱讀系統(tǒng)的數(shù)據(jù)字典,了解完整的數(shù)據(jù)結(jié)構(gòu)。
建議的做法是:導(dǎo)出后先做一個基本的描述性統(tǒng)計,看看樣本量、變量數(shù)是否符合預(yù)期。如果不符合,及時排查原因,不要等到做完整分析才發(fā)現(xiàn)數(shù)據(jù)不完整。
數(shù)據(jù)導(dǎo)出不是導(dǎo)出來就完事了,還要確保導(dǎo)出的數(shù)據(jù)質(zhì)量沒問題。這里有幾個實用的檢查方法。
第一,抽樣檢查。隨機(jī)抽取幾條記錄,和原始問卷或者系統(tǒng)里的錄入數(shù)據(jù)對照,確認(rèn)導(dǎo)出數(shù)據(jù)準(zhǔn)確無誤。這個工作看起來原始,但非常有效。很多隱藏的錯誤都是通過這種方式發(fā)現(xiàn)的。
第二,邏輯校驗。編寫一些簡單的邏輯檢查規(guī)則,比如:年齡應(yīng)該在合理范圍內(nèi)、選項得分不應(yīng)該超過該題的最大值、跳答邏輯要正確(比如選擇了"否"的題目后續(xù)不應(yīng)該有回答)等。可以用Excel的條件格式,或者用Python/R寫幾行代碼來做這個檢查。
第三,缺失值分析。統(tǒng)計每道題的缺失率,看看有沒有某些題目的缺失率特別高。缺失率異常高可能意味著題目理解困難、系統(tǒng)故障或者其他問題,需要進(jìn)一步調(diào)查。
第四,分布檢查。對每道題做簡單的頻率分布,看看選項的分布是否合理。如果某道題所有被試都選同一個選項,可能是題目設(shè)計有問題,或者翻譯后的表達(dá)讓被試產(chǎn)生了某種一致性偏差。
關(guān)于電子量表翻譯的數(shù)據(jù)導(dǎo)出,其實還有說不完的話題。不同系統(tǒng)有不同特點,不同項目有不同需求,很難有一篇萬字文章把所有情況都覆蓋到。
但核心的原則是相通的:理解你的系統(tǒng)、理解你的數(shù)據(jù)、導(dǎo)出前做好規(guī)劃、導(dǎo)出后做好檢查。量表翻譯是國際化研究中非常重要的一環(huán),數(shù)據(jù)導(dǎo)出看似是技術(shù)性的收尾工作,但做好了才能保證后續(xù)分析的可信度。
如果你正在為電子量表翻譯和數(shù)據(jù)導(dǎo)出發(fā)愁,建議從這篇里挑幾個自己關(guān)心的問題,先實際操作一下。遇到具體問題的時候,再針對性地去找解決方案。實踐出真知,有些坑踩過了就記住了。
希望這篇文章對你有幫助。如果覺得哪里沒說清楚,歡迎繼續(xù)交流。
