今天和大家分享一下如何用SPSS軟體生成隊列研究/橫斷面研究的「Table 3」,一來這是之前困惑我很久的統計學問題,最近對CHARLS數據比較感興趣(這是我國比較大的一個公共資料庫,下載的數據需要用stata或R合併,然後數據清洗,筆者用的stata軟體,也正在慢慢琢磨和學習中,感興趣的朋友可以利用起來發paper,筆者近兩天整理了一份2018年最新數據進行分析成文,終於有所收穫!二來分享在公眾號希望讓各位大佬們批評指正,可有錯誤的地方,以茲改正!
在隊列研究/橫斷面研究中,經常是探討自變量A對某種人群因變量B的影響;SCI論文的題目往往是「Association of A and B among X population: a cohort study/cross-sectional study」
表1和表2一般是對自變量A和因變量B的描述性分析
表3就是根據自己需要進行不同因素調整(Adjusted)的多個回歸模型(如下圖)
因變量B是連續性變量:線性回歸
因變量B是二分類變量:Logistic回歸
因變量B是終點事件:Cox回歸
模型1:未調整(Unjusted)
模型2:調整了性別,年齡..
模型3:調整了性別,年齡...
我們以Logistic回歸分析為例;
打開一份數據(瞎編的,僅供示例),筆者用的SPSS 21.0
自變量A和因變量B可以是連續性變量,也可以是分類變量(如果你收集的B是連續性變量,就轉化為二分類即可,後文會講到如何轉化)
首先開始分析之前一般先對自變量A按照四分位距(比較常用;也可以是三分位距、五分位距)進行多分類轉化
因此我們按照<216;216-439;439-700;>700對A進行轉化,這就生成了新的一列數據,然後就可以做表1和表2了
表3,我們先看模型1(未調整),因為這時候A是分類變量,回歸分析時需要設置啞變量;點擊右上方Categorical,把First(就是賦值最小的,案例中是1)作為參照組(這裡需要注意一下,如果A是二分類,可以但不需要在這裡設置啞變量,Logistic回歸的結果默認賦值小的為參照組)
接著我們看P for trend怎麼出來的
同樣進入Logistic回歸的界面,點擊右上方Categorical,退出Agroup的啞變量,OK,繼續
P for trend=0.794,說明因素A對B的影響不是呈線性趨勢的;該值表示:因素A每增加一個等級(四分位的),B的風險降低3%,無統計學意義
再看Per SD increase,首先簡單講一下這個概念,對於指標A,如果以連續性變量進入模型,得出的結果是A每增加1個單位,B的風險增加/降低XX,但是這個對於臨床意義並不大,因此引入了Per SD increase,顧名思義,就是「每增加一個標準差」
我們先把A的標準差算出來
SD=285.91
接著對原始數據A進行標準差處理,如圖
數據界面多了一列ZA
然後再次進入Logistic回歸界面,得出Per SD increase: OR (95% CI): 0.917 (0.713, 1.179),說明A每增加一個SD(285.91),B的風險降低9.3%,無統計學意義。
到此,模型1的一列就完成了!
模型2和模型3無非是多了調整因素,方法是一樣的
注意一下:不管是P for trend還是Per SD increase,因素A不用啞變量,調整因素需要用啞變量
模型1未調整(Unjusted)
模型2調整了性別,年齡
模型3調整了性別,年齡...
相比R和Stata需要編程,SPSS只需要點點滑鼠就能出結果(雖然繁瑣了一些),我相信很多人電腦裡還是用的SPSS,尤其是在讀研究生。
今天的分享到這裡,如有錯誤,請不吝賜教!感激不盡