2009年12月30日

PK值

年紀大的人才會用「年份」來討論事情,
資料庫中的Table都需要設定PK值(Primary keys),
所以腦中的資料,也需要一個來查詢資料的參數吧~

2009年12月13日

查先生的話

「人類之所以偉大,正在於他是一座橋樑而非目的;人類之所以可愛,正在於他是一個跨越的過程與完成。」

自己和朋友們最近發生了大小不同的事件,愛、嫉妒、迷惑、生命、目標、完成,或各種的混和。

在最痛苦的時候,真希望能馬上結束自己的生命。能緩解最強烈的瞬間,朋友一通電話是很重要的。

當處於過程中時,無法回頭,也看不到盡頭,一切都會顯的很孤獨、無助。
這也是偉大的地方,如果一切事情都可以有目的,永恆的目的和完成,那會是無比的幸福。

生命必然的完成,定是死亡。體會有限的生命,實踐短期、中期、長期的理想,「完成過程」才是可愛的。

事情發生,看著他來,看著他走,享受、體會那過程,有是需要勇氣,也是很需要學習的。

完成單向的幸福,體會過程踏實的無悔,人生苦短,當生命消失前,至少不要有遺憾。

Stay Hungry, Stay Foolish這講演值得再看一遍。

2009年9月15日

這是怎樣的調查?

一打開網頁就看到新聞抬頭寫著「調查:3/4新鮮人還在找工作」、「XXXXX人力銀行:逾七成新鮮人還在求職」等,在新聞中,完全找不到這些調查怎樣進行的,只在最後用「統計」的字眼來描述這段調查,『「XXXXX新鮮人現況調查」,調查時間目2009年8月24日到31日,回收有效樣本909份,在95%信心區間下誤差3.25%。』或『在8月24日到27日進行,回收有效樣本1888份,在95%的信心區間下,誤差約為2.26%。』。哇!還有信心區間耶,我怎越看越沒有信心……

文中連最基本的調查方式都沒有敘述,例如電話、郵寄、網路或面訪等。有效樣本是怎樣取得的,例如抽樣、街頭訪問、網路自由填寫等,也都沒有描述。但卻用不成比率的文字描述這段所謂調查的結果,甚至做出推論,真是有夠有信心的啦!。

2009年8月8日

[轉貼-科景]醫學:幽靈寫手:生醫論文背後的利益結構

[Aug 08, 2009]

醫學:幽靈寫手:生醫論文背後的利益結構
(http://www.sciscape.org/news_detail.php?news_id=2454)

編輯 六百 報導

經過超過半年的調查,最近公開的法院文件揭露了美國惠氏 (Wyeth) 藥廠炮製論文以支持其荷爾蒙替代療法的手法。至少二十六篇相關論文係由惠氏主導寫成,且這樣的角色並未在論文中詳實揭露。相關人士目前依舊否認這些論文在科學上有任何蓄意的造假,但這種隱藏的利益關係已經對科學家的互信以及科學論文對大眾的威信造成相當的衝擊。

事件的主角是惠氏藥廠的女性荷爾蒙替代療法藥物,商品名為 Premarin 與 Prempro. 此藥物在 2001 年為惠氏帶來二十億美元以上的進帳,可說是金雞母產品。然而在 2002 年,美國聯邦政府對其安全性進行了大規模的研究以後發現此藥物會顯著增加其使用者罹患乳癌與失智症的機率。

由於聯邦研究結果與過去學術論文結論的衝突,甚至聯邦研究結果發表之後,依舊有重要的學術論文主張相反的結論,因而引起了國會對於這些論文公正性的注意。雖然關於藥廠操弄學術論文的傳聞雖然由來已久,而對於此一案例,則直到 2008 年底,美國聯邦參議員 Charles E. Grassley 取得惠氏藥廠相關內部文件並正式展開國會調查以後才漸漸明朗。

本次公開的法院文件系由控告惠氏藥廠的律師提供,並當庭在 PLoS Medicine 以及紐約時報的要求下公開予大眾。根據這份資料,幽靈寫手牽涉的利益結構十分龐大。僅僅是 Premarin 與 Prempro 方面就至少有二十六篇論文與幽靈寫手有關,相關資料更暗示了惠氏藥廠的其他產品甚是是其他藥廠的產品都牽涉其中。

這些幽靈論文多是 review article, 也就是並非第一手研究結果,而是彙整現有論文資料,對特定主題作出回顧與評估的論文。幽靈寫手炮製論文的流程大致是這樣:
首先由惠氏藥廠以及受雇的 DesignWrite 公司構思該篇論文想要傳達的主要訊息。然後由 DesignWrite 寫出大綱。接著惠氏與 DesignWrite 重新審閱修改大綱以後,就開始尋找願意為此論文背書的專家作為掛名作者。其後論文會由 DesignWrite 寫出,參酌惠氏與掛名作者的修改意見修改完畢以後投稿至不知情的期刊。經過學界標準的同儕審閱程序以後,修改意見也是交由 DesignWrite 主筆修改。最後刊出的論文並沒有揭露惠氏藥廠在開始撰寫這篇論文以及提供經濟援助方面扮演的角色。

參與幽靈寫手的調查的紐約州西奈山醫學院 (Mount Sinai School of Medicine in New York) 的助理教授 Joseph S. Ross 博士對紐約時報形容此事件:"就像是棒球界的類固醇。你不知道誰有用藥誰又沒有,你也不知到哪篇論文背景不乾淨哪篇沒問題。"

和純學術論文不同,臨床醫師經常透過閱讀這類醫學論文來獲得最新的醫療技術知識,因此這些論文很可能足以影響醫師在選擇療法/藥物時的判斷,卻不知道自己已經受到了藥廠的操弄。

惠氏藥廠的發言人指出藥廠雇用的醫學寫作人員協助科學家撰寫論文草稿是十分正常的事情。然而,根據此自揭露的資料中的以下案例,受雇寫作人員參與的程度顯然不只是 "協助" 而以:
2003 年,DesignWrite 的員工寫了一篇長達十四頁的論文 "大綱",作者為 "待定"。同年七月,這篇大綱被送到紐澤西州 Robert Wood Johnson 醫學院的婦產科學教授 Gloria Bachmann 博士手中。Bachmann 博士在回覆的電子郵件中盛讚 "大綱極佳,跟寫好了一樣" (Outline is excellent as written)。同年九月,DesignWrite 將初稿以電子郵件寄給 Bachmann 博士,他同樣盛讚該稿件極佳,並表示自己只認為有一處需要修改。該論文於 2005 年已幾乎是草稿原封不動的型式刊登於 The Journal of Reproductive Medicine, Bachmann 博士名列第一作者。在該論文的致謝中對數名醫學寫手提供的 "編輯協助" 表示感謝,但並未提到這些人是 DesignWrite 的員工,而惠氏藥廠為了這篇論文支付 DesignWrite 兩萬五千美金的報酬。

Bachmann 博士於訪問中對紐約時報表示她確實認同該論文反映了他的看法。她也強調電子郵件的通聯紀錄不足以顯現她透過電話以及面對面討論等型式對該論文作出的貢獻。

惠氏的發言人 Doug Petkus 則指出該論文立論在科學上並無瑕疵,且通過了學界標準的同儕審閱。代表惠氏的律師 Stephen Urbanczyk 也強調從 2006 年開始惠氏的新政策要求作者必須參與論文的早期規劃,並且在最終發表的論文中揭露惠氏提供的經濟援助或是論文寫作公司提供的寫作協助。

DesignWrite 的總經理 Michael Platt 則回應紐約時報的詢問表示:"Designwrite 不曾,亦不會參與任何論文的發表,除非它以現有資料為基礎下對該論文的科學正確性有著完全的信心"。

為了因應幽靈寫手的問題,越來越多期刊要求投稿時列出每一位作者對該論文的詳細貢獻內容。但這樣的作法尚未成為學界標準,也使得幽靈論文繼續有著存在的空間。

參考來源:


2009年7月19日

使用SAS 9.2 繪製ROC曲線和比較


在2008年4月的時候,曾經寫過一篇繪製ROC曲線和比較兩條ROC曲線下面積的小文章,這篇是以MACRO來畫圖和比較,而在新版的SAS 9.2中已經可以於PROC LOGISTICS直接繪製高品質的ROC曲線(Receiver Operating Characteristic Curves, ROC Curves)。

在SAS 9.2中ODS GRAPHICS支援的程序增加許多,其中也包括PROC LOGISTICS。

先產生一筆虛擬的資料 data Age_data;
input disease age bw@@;
datalines;
0 50 65  0 39 61  0 21 70  0 61 67
0 30 55  0 35 63  0 25 52  0 41 66
0 43 52  0 36 54  0 37 46  0 25 61
0 41 53  0 62 55  0 28 70  0 33 68
1 52 45  1 49 61  1 47 42  1 62 31
1 55 67  1 70 61  1 75 55  1 77 52
1 81 68  1 64 53  1 62 41  1 39 57
1 61 51  1 61 55  1 57 49  1 79 67
;
run;


接下來就直接套用繪製的ROC曲線的語法 ods graphics on;
proc logistic data=age_data plots(only)=(roc) rocoptions(id=prob) ;
model disease (event='1')=age;
run;
ods graphics off;


ods graphics on為宣告要繪製ods graphics的圖,而ods graphics off宣告結束,幾乎ods系列的語法都是類似的語法。
plots(only)=(roc):在proc logistic程序中,新增了幾個選項,plots為宣告要繪製統計圖,括號中的only為要求SAS只要畫出所需的圖就好,而在後面的【 (roc) 】和SAS說我們需要的圖為ROC曲線。
rocoptions(id=prob)表示在圖形上的點要放哪些資訊,目前有兩種可以選擇,【prob】為predicted probability ,而【obs】為observation number。
這幾個簡單的指令便可畫出高品質的ROC曲線。 而且還順便秀出AUC(Area Under Curve)的值。


ROCCurve32 

如果在model後面多放一個變項(BW),則畫出此模型(age和bw的模型)的ROC曲線。 ods graphics on;
proc logistic data=age_data plots(only)=(roc) rocoptions( id=prob) ;
model disease (event='1')=age bw;
run;
ods graphics off;

此模型的ROC曲線為下圖:

ROCCurve41

不過也許大家比較想看到的是,單圖age或bw的圖,或是一張圖裡面同時有age和bw「個別」的ROC曲線,而不是模型的結果。

ods graphics on;
proc logistic data=age_data plots(only)=(roc) rocoptions( id=prob) ;
model disease (event='1')=age bw;
roc '年齡' age;
roc '體重' bw;
run;
ods graphics off;

roc:個別宣告要繪製哪些變項的圖形,這裡我想個別看age及bw的ROC曲線。有單引號包住的文字,為宣告此圖形中變項的名稱,分別為「年齡」及「體重」。不過如果只使用這個語法的話,SAS同時還會多給一張model的圖,和age+bw+model的圖。

ROCCurve42 ROCCurve35 ROCCurve44

ROCOverlay15

上面這張圖,雖然多了一個model的曲線,但這不一定是每次都想見到的,我的經驗,大多臨床工作者,都不太瞭解model這條曲線的意義,即使解釋了很久都還是不會用,因此單純的age和bw的比較也許就很足夠了。這個時候將程式修改成下面的寫法即可。

ods graphics on;
proc logistic data=age_data plots(only)=(roc) rocoptions( id=prob) ;
model disease (event='1')=age bw/nofit;
roc '年齡' age;
roc '體重' bw;
run;
ods graphics off;

其實就只是多了一【nofit】,這會讓SAS不要做整個model估計,只分別對age和bw做兩個logisitc regression,此時Log視窗也會提醒,「NOTE: The NOFIT option is specified.  No parameters are estimated and all other MODEL statement options (except FIRTH ,LINK= ,NOINT ,OFFSET= ,ROC ,and TECHNIQUE=) are ignored.」。結果如下圖:

ROCOverlay16

最後就是比較age和bw的AUC有無統計上的差異了。

ods graphics on;
proc logistic data=age_data plots(only)=(roc) rocoptions( id=prob  ) ;
model disease (event='1')=age bw/nofit;
roc '年齡' age;
roc '體重' bw;
roccontrast  reference('體重')/ estimate e;
run;
ods graphics off;

roccontrast:比較ROC曲線。結果如下:

未命名 - 1

SAS 9.2此項新功能,我自己覺得使用上比MACRO直覺許多!