国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SAS交互式矩陣語言在膳食調(diào)查營養(yǎng)素?cái)?shù)據(jù)處理中的應(yīng)用

2022-06-20 08:34張彬艷米白冰王予童劉卉萌黨少農(nóng)
中國醫(yī)院統(tǒng)計(jì) 2022年2期
關(guān)鍵詞:營養(yǎng)素攝入量膳食

張彬艷 米白冰 王予童 劉卉萌 黨少農(nóng) 顏 虹

西安交通大學(xué)醫(yī)學(xué)部公共衛(wèi)生學(xué)院流行病與衛(wèi)生統(tǒng)計(jì)學(xué)系, 710061 陜西 西安

膳食調(diào)查是營養(yǎng)流行病學(xué)研究領(lǐng)域的重要部分,目前半定量、定量的食物頻率問卷(food frequency questionnaire,FFQ)在評(píng)價(jià)營養(yǎng)與慢性病關(guān)系的研究中被廣泛使用[1-4]。其中半定量FFQ(SQFFQ)不僅調(diào)查了研究對(duì)象的食物攝入頻率,還調(diào)查了食物攝入量,其結(jié)合了定性與定量膳食調(diào)查的優(yōu)點(diǎn),在我國營養(yǎng)學(xué)界已逐漸得到重視,且受到日益廣泛的應(yīng)用[5]。但其應(yīng)用也面臨一些問題,特別是大規(guī)模流行病學(xué)調(diào)查過程中,SQFFQ數(shù)據(jù)的高效處理和計(jì)算已成為實(shí)際研究中亟需解決的問題。目前,SQFFQ中各類營養(yǎng)素?cái)z入量的計(jì)算方法主要是基于營養(yǎng)計(jì)算器[6]、Excel、SPSS軟件實(shí)現(xiàn)的,其原理仍為條目乘積結(jié)果的累加計(jì)算[7-9],具體過程繁瑣、工作量較大,在大規(guī)模人群調(diào)查中應(yīng)用多有不便。矩陣乘法運(yùn)算可認(rèn)為是相乘矩陣各元素的乘積累加[10],因此,合理應(yīng)用矩陣乘法計(jì)算膳食成分可有效提升大規(guī)模膳食數(shù)據(jù)分析的效率。本研究結(jié)合實(shí)際營養(yǎng)流行病學(xué)膳食調(diào)查,運(yùn)用SAS交互式矩陣語言演示如何計(jì)算SQFFQ營養(yǎng)素?cái)z入量,旨在為膳食營養(yǎng)領(lǐng)域研究者提供實(shí)際應(yīng)用的參考依據(jù)。

1 研究資料與方法

1.1 資料來源

膳食數(shù)據(jù)庫來源于國家自然科學(xué)基金重點(diǎn)項(xiàng)目“圍孕期微營養(yǎng)素干預(yù)對(duì)先天性心臟病發(fā)生的一級(jí)預(yù)防作用及其機(jī)制”中的子課題“陜西省出生缺陷現(xiàn)況及其危險(xiǎn)因素調(diào)查”項(xiàng)目的數(shù)據(jù),根據(jù)城鄉(xiāng)比例并考慮人口密集度和生育水平采用分層多階段隨機(jī)抽樣方法進(jìn)行抽樣,于陜西省內(nèi)隨機(jī)抽取10個(gè)城區(qū)和20個(gè)縣;在抽取的樣本區(qū)、縣中分別隨機(jī)抽取3個(gè)街道辦事處和6個(gè)鄉(xiāng)鎮(zhèn)后,每個(gè)街道辦事處、鄉(xiāng)鎮(zhèn)分別隨機(jī)抽取6個(gè)社區(qū)和村,每個(gè)社區(qū)與村分別隨機(jī)調(diào)查60名和30名符合條件的育齡婦女[11],采用SQFFQ調(diào)查育齡婦女孕期膳食情況。采用EpiData 3.1軟件進(jìn)行數(shù)據(jù)雙錄入。為測(cè)試計(jì)算性能,采用PROC SURVEYSELECT程序中的簡(jiǎn)單隨機(jī)抽樣方法隨機(jī)選取其中3 000份SQFFQ作為訓(xùn)練集并建立膳食數(shù)據(jù)庫[12-13]。研究通過了西安交通大學(xué)醫(yī)學(xué)倫理審查委員會(huì)批準(zhǔn)(審批文號(hào):2012008)。

1.1.1 SQFFQ數(shù)據(jù)特點(diǎn)

SQFFQ可以獲得育齡婦女孕期長期的膳食攝入,從而估計(jì)孕期膳食攝入的平均情況。該方法改編自已有的FFQ法,其信效度已經(jīng)過驗(yàn)證并在中國部分農(nóng)村地區(qū)孕婦中應(yīng)用[14]。該問卷共收集了102種食物的使用頻率及攝入量,食物種類包括谷類及其制品,薯類及其制品,豆類及其制品,蔬菜及其制品,堅(jiān)果,乳類及其制品,蛋類,水果及其制品,菌澡類,肉類及其制品,魚蝦蟹貝類,小吃、甜餅類,速食和飲料。針對(duì)上述食物,詳細(xì)詢問其攝入頻率并賦值,包括:(1)幾乎不吃(賦值為1);(2)<1次/月(賦值為2);(3)1~3次/月(賦值為3);(4)1次/周(賦值為4);(5)2~4次/周(賦值為5);(6)5~6次/周(賦值為6);(7)1次/d(賦值為7);(8)≥2次/d(賦值為8)。具體計(jì)算食物成分時(shí),將幾乎不吃、<1次/月定義為0.0次/周;1~3次/月定義為0.5次/周;2~4次/周定義為3.0次/周;5~6次/周定義為5.5次/周;1次/d定義為7.0次/周;≥2次/d定義為14.0次/周。將食物攝入頻率按前述標(biāo)準(zhǔn)進(jìn)行轉(zhuǎn)換獲得食物每周攝入頻率后,再將次數(shù)除以7,獲得食物每日攝入頻率(FRi)。隨后,將問卷中每日攝入量按一定標(biāo)準(zhǔn)轉(zhuǎn)換為具體食物每次攝入量(WTi)。見表1。

表1 研究對(duì)象膳食數(shù)據(jù)庫示例

1.1.2 食物成分表數(shù)據(jù)庫

以《中國食物成分表(2002版)》及2009年更新版本,《中國食物成分表(2004版)》為準(zhǔn)[15-16],采用EpiData 3.1軟件進(jìn)行雙錄入,結(jié)合本研究SQFFQ收集的102種食物及25項(xiàng)營養(yǎng)素成分構(gòu)建食物成分表數(shù)據(jù)庫。25項(xiàng)營養(yǎng)成分分別為能量、蛋白質(zhì)、脂肪、碳水化合物、總膳食纖維、可溶性膳食纖維、不可溶性膳食纖維、膽固醇、灰分、維生素A、胡蘿卜素、硫胺素、核黃素、維生素B6、維生素B12、葉酸、尼克酸、維生素C、總維生素E、α-生育酚當(dāng)量、鈣、磷、鈉、鎂和鐵。見表2。

表2 食物成分表數(shù)據(jù)庫示例

1.2 研究方法

1.2.1 矩陣乘法

矩陣乘法是矩陣的基本運(yùn)算之一,其原理即當(dāng)左邊矩陣A的列數(shù)等于右邊矩陣B的行數(shù)時(shí),A與B才能相乘(A左乘B,或B右乘A),即AB才有意義;若A=(aij)m×s矩陣,B=(bij)s×n矩陣,則矩陣A與矩陣B的乘積C=AB矩陣,即C=(cij)m×n。C元素第i行第j列元素cij為A的第i行元素與B的第j列元素對(duì)應(yīng)相乘取乘積之和。

1.2.2 SAS IML矩陣功能模塊的實(shí)現(xiàn)

SAS統(tǒng)計(jì)分析軟件包中的IML模塊[17]是一種在動(dòng)態(tài)和交互式環(huán)境下實(shí)現(xiàn)的強(qiáng)大而靈活的過程語言,簡(jiǎn)稱交互式矩陣語言,其基本數(shù)據(jù)對(duì)象是矩陣,所有運(yùn)算和操作都是基于矩陣。SAS/IML中的矩陣和DATA步及SAS環(huán)境中的數(shù)據(jù)集可以雙向流動(dòng),數(shù)據(jù)集可以讀入IML中形成矩陣,進(jìn)入IML環(huán)境的方法是執(zhí)行語句PROC IML,退出語句為QUIT。IML中的矩陣可以讀出為SAS數(shù)據(jù)集,這種交互式操作極大方便IML編程的對(duì)象,其基本操作程序如下:

(1)打開目標(biāo)SAS數(shù)據(jù)集:使用use語句打開SAS數(shù)據(jù)集,可采用read對(duì)數(shù)據(jù)集實(shí)施讀出操作,讀出數(shù)據(jù)至IML中。

(2)使用SAS數(shù)據(jù)集創(chuàng)建矩陣:使用帶有var和into從句的read語句,將SAS數(shù)據(jù)集傳遞到矩陣?yán)?,例如:read all var {pc}into pc;即將數(shù)據(jù)集中的變量pc讀取出來形成一個(gè)矩陣pc;若A、B為矩陣,C為向量,A[i,j]表示矩陣A的第i行,第j列元素,A[i,]表示矩陣A的第i行所有元素,A[,j]表示矩陣A的第j列所有元素;A||B表示矩陣的合并,“||”表示將2個(gè)矩陣水平連接,即矩陣A中的每行元素分別連接在矩陣B中相應(yīng)的右邊,結(jié)果矩陣的行數(shù)與A,B相同;A[c1:c2,d1:d2]指矩陣A的第c1行到c2行和第d1列d2列的所有元素;矩陣的算術(shù)運(yùn)算,A×B表示矩陣A乘矩陣B,A#C表示矩陣A中每一行或每一列的元素與向量C中元素相乘(向量C可以是行向量也可以是列向量)。

(3)采用create語句創(chuàng)建SAS數(shù)據(jù)集: 格式為create SAS數(shù)據(jù)集名 from 源數(shù)據(jù)名[Colname=column-name Rowname=row-name];其功能為創(chuàng)建SAS數(shù)據(jù)集并打開,供讀入或者寫出,用append語句將矩陣中的數(shù)據(jù)讀入新建的SAS數(shù)據(jù),否則數(shù)據(jù)集中沒有觀測(cè)值。

1.2.3 膳食數(shù)據(jù)庫與食物成分表數(shù)據(jù)庫的運(yùn)算

首先,于膳食數(shù)據(jù)庫中,建立3 000例(行)研究對(duì)象的102種(列)食物,研究對(duì)象每天每種食物攝入量的矩陣FW=FR×WT,采用公式如下:

FWi=FRi×WTi(i=1,2,3…,102)。

其次,于食物成分表數(shù)據(jù)庫中,建立102種(行)食物,25種(列)營養(yǎng)素的矩陣FC,對(duì)每一例被調(diào)查者,其某一營養(yǎng)素總攝入量的計(jì)算公式如下:

某一營養(yǎng)素每日總攝入量PF=FR1×WT1×食物1中該營養(yǎng)素含量+FR2×WT2×食物2中該營養(yǎng)素含量+ … +FR102×WT102×食物102中該營養(yǎng)素含量。

最后,運(yùn)用矩陣乘法運(yùn)算原理,計(jì)算3 000例研究對(duì)象的25種營養(yǎng)素?cái)z入量,計(jì)算公式:

PF=FW×FC。

若A(FW)為m×s矩陣,B(FC)為s×n矩陣,則他們的矩陣乘積AB(FW×FC)會(huì)是一個(gè)m×n的矩陣C(PF)。C的元素等于A的第i行每個(gè)元素與B的第j列對(duì)應(yīng)元素的乘積之和,即C(i,j)元素為:

(i=1,2,…,m;j=1,2,…,n)

1.3 統(tǒng)計(jì)學(xué)方法

首先,采用SAS 9.4 軟件PROC SURVEYSELECT程序中的簡(jiǎn)單隨機(jī)抽樣方法隨機(jī)選取調(diào)查數(shù)據(jù)中3 000份半定量膳食頻率問卷作為訓(xùn)練集;其次運(yùn)用SAS數(shù)組Array中的Do Loop語句計(jì)算研究對(duì)象102種食物每日攝入量;最后,利用交互式矩陣語言PROC IML編程演示計(jì)算研究對(duì)象半定量食物頻率問卷中25種營養(yǎng)素?cái)z入量。

2 結(jié)果

2.1 計(jì)算研究對(duì)象每天每種食物攝入量矩陣FW

首先,導(dǎo)入膳食數(shù)據(jù)庫;其次,運(yùn)用SAS統(tǒng)計(jì)軟件包DATA步數(shù)組Array中的Do Loop語句。計(jì)算食物每天攝入量程序如下:

PROC IMPORT OUT= WORK.SQFFQ

DATAFILE= "E:DietarydataSQFFQ.sav"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

RUN;

DATA SQFFQ;

SET SQFFQ;

array freq(102)freq1-freq102;

array weight(102)weight1-weight102;

array food(102)food1-food102;

do i=1 to 102;

food(i)=freq(i)*weight(i);

end;

RUN;

2.2 計(jì)算某一營養(yǎng)素每日總攝入量

運(yùn)用SAS程序PROC IML。首先,導(dǎo)入食物成分?jǐn)?shù)據(jù)庫;其次,計(jì)算每位研究對(duì)象的營養(yǎng)素?cái)z入量。程序如下:

PROC IMPORT OUT= WORK.FOOD

DATAFILE= "E:DietarydataFOOD.sav"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

RUN;

PROC IML;

varnames1="food1":"food102";/*設(shè)定食物名稱*/

varnames2={"PC" "ENERGY" "PROTEIN""FAT" "CHO" "DIETFIBT" "DIETFIBS" "DIETFIBI" "CHOLESTE" "ASH" "VITA" "CAROTEN" "THIAMIN" "RIBOFLAV" "VITB6" "VITB12" "FOLATE" "NIACIN" "VITC" "VITE" "AVITE" "CA" "P" "NA" "MG" "FE" };/*設(shè)定PC及營養(yǎng)素名稱,分別為,能量;蛋白質(zhì);脂肪;碳水化合物;總膳食纖維;可溶性膳食纖維;不可溶性膳食纖維;膽固醇;灰分;維生素A;胡蘿卜素;硫胺素;核黃素;維生素B6;維生素B12;葉酸;尼克酸;維生素C;總維生素E;α-生育酚當(dāng)量;鈣;磷;鈉;鎂;鐵*/

use sqffq; read all var varnames1 into food; read all var{pc}into pc; close sqffq;/*生成食物攝入量矩陣*/

use food; read all var _NUM_ into component; close food;/*生成component矩陣*/

edible=component[,1];/*生成可食部向量*/

component_1=component[,2:26];/*生成食物成分矩陣*/

food_1 = food/100;/*將食物攝入量除以100,得到以100 g為單位的食物攝入量矩陣*/

component_2 = edible#component_1; component_3=component_2/100;/*可食部與食物成分表的相乘矩陣*/

nutrient=food_1*component_3;/*食物攝入量與食物成分表的矩陣乘法,即每位研究對(duì)象的營養(yǎng)素?cái)z入量*/

final=pc||nutrient;/*添加PC號(hào)*/

print final;

create nutrients from final[colname=varnames2];

append from final;

QUIT;

2.3 膳食營養(yǎng)素計(jì)算

SAS程序運(yùn)行后,獲得25種營養(yǎng)素?cái)z入數(shù)據(jù)集且自動(dòng)輸出,研究人員可以根據(jù)研究目的進(jìn)行后續(xù)統(tǒng)計(jì)分析。見表3。

表3 調(diào)查對(duì)象營養(yǎng)素?cái)z入量結(jié)果示例

同時(shí),在SAS日志輸出窗口看到PROC IML過程執(zhí)行時(shí)間為0.59 s。結(jié)果顯示,應(yīng)用SAS交互式矩陣語言PROC IML計(jì)算半定量食物頻率問卷營養(yǎng)素?cái)z入量快速高效,結(jié)果準(zhǔn)確可靠,值得在相關(guān)研究中推廣使用。見圖1。

圖1 SAS中PROC IML運(yùn)行日志

2.4 SAS交互式矩陣語言計(jì)算SQFFQ營養(yǎng)素?cái)z入量高效快捷

針對(duì)不同軟件在大規(guī)模流行病學(xué)膳食調(diào)查研究中應(yīng)用的特性給出0~2分的評(píng)價(jià)得分,然后統(tǒng)計(jì)出綜合評(píng)價(jià)得分;分值越高,代表軟件在處理大規(guī)模膳食調(diào)查數(shù)據(jù)的優(yōu)勢(shì)越強(qiáng)。結(jié)果提示,相比營養(yǎng)計(jì)算器、Excel、SPSS,SAS交互式矩陣語言計(jì)算SQFFQ營養(yǎng)素?cái)z入量應(yīng)用性較好。見表4。

表4 營養(yǎng)計(jì)算器、Excel、SPSS及SAS軟件處理大規(guī)模膳食調(diào)查數(shù)據(jù)操作評(píng)價(jià)

3 討論

本研究運(yùn)用SAS統(tǒng)計(jì)軟件包IML功能演示計(jì)算SQFFQ營養(yǎng)素?cái)z入量,為SQFFQ在營養(yǎng)流行病學(xué)中的應(yīng)用提供參考依據(jù),有助于提高膳食數(shù)據(jù)分析的準(zhǔn)確性和高效性。

相比24 h膳食回顧法、膳食日記法、膳食史法等能反映短期的膳食攝入的工具/方法,膳食史法側(cè)重于測(cè)量長期食物攝入種類和攝入量,其可反映研究對(duì)象相當(dāng)長時(shí)間的膳食攝入平均情況,且既往研究報(bào)道表明飲食習(xí)慣在一定時(shí)間內(nèi)改變可能不大[18],進(jìn)而可評(píng)估一定時(shí)間段內(nèi)膳食營養(yǎng)素?cái)z入平均情況與疾病的關(guān)系,比短期的膳食評(píng)價(jià)攝入更有意義,但其問卷食物種類較多,需要整理分析的變量也相應(yīng)較多,統(tǒng)計(jì)分析工作較為繁瑣。目前使用的營養(yǎng)計(jì)算器、Excel、SPSS可以實(shí)現(xiàn)其數(shù)據(jù)整理及統(tǒng)計(jì)分析工作,然而運(yùn)用SAS中PROC IML功能對(duì)膳食調(diào)查數(shù)據(jù)處理報(bào)道較少。因此,本研究利用“陜西省出生缺陷現(xiàn)況及其危險(xiǎn)因素調(diào)查”項(xiàng)目的數(shù)據(jù),實(shí)例演示具體研究中如何利用SAS交互式矩陣語言計(jì)算SQFFQ營養(yǎng)素?cái)z入量,為膳食營養(yǎng)領(lǐng)域提供實(shí)際操作參考。

相較營養(yǎng)計(jì)算器、Excel、SPSS軟件,SAS統(tǒng)計(jì)軟件包交互式矩陣語言PROC IML提供功能強(qiáng)大的面向矩陣運(yùn)算的編程語言,其基本數(shù)據(jù)元素是矩陣,需0.59 s即可完成本研究膳食數(shù)據(jù)計(jì)算,其操作方式和數(shù)據(jù)準(zhǔn)備程序化,且運(yùn)算速度較快,獲得結(jié)果準(zhǔn)確。其次,在后續(xù)類似膳食數(shù)據(jù)分析時(shí),只需導(dǎo)入研究項(xiàng)目膳食數(shù)據(jù)庫,更新并導(dǎo)入食物成分表數(shù)據(jù)庫,自定義相關(guān)變量,即可直接調(diào)用程序,復(fù)用性高,針對(duì)計(jì)算SQFFQ營養(yǎng)素?cái)z入量,研究人員可用較少的語句執(zhí)行復(fù)雜的計(jì)算過程,具有一定的實(shí)用性。應(yīng)用SAS交互式矩陣語言計(jì)算SQFFQ營養(yǎng)素?cái)z入量,適用于醫(yī)學(xué)工作者,不僅可以保證數(shù)據(jù)處理分析的準(zhǔn)確性,而且可以提高研究工作的效率。

綜上所述,SAS交互式矩陣語言PROC IML編程在計(jì)算半定量食物頻率問卷營養(yǎng)素?cái)z入量時(shí),其操作簡(jiǎn)便,易于實(shí)現(xiàn),具有一定實(shí)際應(yīng)用性,值得在相關(guān)研究中推廣。

猜你喜歡
營養(yǎng)素攝入量膳食
老年人護(hù)眼七大營養(yǎng)素
食物中的“有色”營養(yǎng)素
因人而異合理補(bǔ)充營養(yǎng)素
膳食纖維對(duì)母豬腸道的作用
秋天膳食九字訣
速滑運(yùn)動(dòng)員的膳食營養(yǎng)補(bǔ)充措施
揭秘“食品級(jí)”肌膚營養(yǎng)素
中國人鹽攝入量依然超標(biāo)
營養(yǎng)與健康