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直覺許多!

2009年7月2日

Firefox 3.5 中文版 (100% 純天然有機軟體)

咦…這個版本就突然上市了,這個很號稱很快的版本(Firefox 3.5測試:速度是Firefox 3的兩倍快),我今天才用到,好吧,反正也沒有太大的感覺,不過終究是花很多時間研發,不斷的延期又延期的Firefox 3.5,還是要用力推一下啦!

Firefox 3.5中文版

2009年6月28日

奔牛節

某一天看到報紙「奔牛節的街頭藝術品被破壞」,才知道台中市有這個項活動,這應該是屬於街頭裝置的藝術品吧,感覺還滿有趣的。

到了國美館,在綠色的草地上就出現了數頭顏色鮮豔的大牛!

DSCN6844

分別給其中隻三來個特寫。

DSCN6846 DSCN6845 DSCN6849

這幾隻牛上的小東西真的是很有趣,牛那麼大,在小時候的印象總是需要一些小動物的~

DSCN6848

其他室外的牛也是很有趣的,甚至躺著的牛 XD

DSCN6856 DSCN6858 DSCN6864

除了室外,室內的展區也是有很多奇妙的牛。這一隻應該也是牛吧,有一堆小牛圍在旁邊。
(照片中的為國美館的服務人員,還很辛苦的在數小牛數目有無正確。)

DSCN6865 DSCN6867

這裡也是有一堆小牛,由一個大圓石走出來。

DSCN6868

當然室內也是有大牛,有閃亮花俏的大牛,有小人控制的大牛…

DSCN6870 DSCN6872 DSCN6871

還有「天下第一味」的…牛肉麵?

DSCN6874

有興趣想看這群牛的,時間不多了,展出到2009/7/5。

DSCN6843

在SAS中使用已經整理好的統計量

實務上常遇到研究者只提供已算好的數字(統計量),例如列聯表中的個數和百分比或兩樣本的人數、平均數和標準差等,如果要利用這些統計量做某些檢定,例如卡方檢定或雙樣本T檢定等,可使用PROC FREQPROC TTEST處理僅有統計量的問題。

PROC FREQ

有兩群病患分別使用A藥和B藥,再觀察兩組實驗組症狀有無改善,結果如下表,如研究者想問A藥和B藥病患症狀改善的比率有無不同,可採用卡方檢定(Chi-square test)

  A藥 B藥
症狀無改善 9 12
症狀改善 21 18

當然第一步要先把資料輸入至SAS中,程式可以這樣寫:

DATA TRIAL_1;
INPUT DRUG $ EFFECT COUNT;
DATALINES;
A 0 9
A 1 21
B 0 12
B 1 18
;
RUN;
PROC SQL;
SELECT *
FROM TRIAL_1;
QUIT;

接下來是卡方檢定的部分

PROC FREQ DATA=TRIAL_1;
WEIGHT COUNT;
TABLE EFFECT*DRUG/CHISQ;
RUN;

PROC TTEST

同樣兩群病患使用A藥和B藥,使用後測量某個臨床指標(連續型變項),研究者欲使用T檢定,探討兩組病患的臨床指標平均值有無差異。資料如下表

  A藥(N=30) B藥(N=30)
臨床指標 89(12) 95(16)
mean(std)

因為這裡我們只有拿到兩組病患的人數、平均值和標準差,所以在輸入資料時要稍微複雜一點,必須符合SAS程式的規定,一定要有一個變項名稱為『_TYPE_』或『_STAT_』,在這個變項中,必須要放入‘N’、‘MEAN’、 ‘STD’這三筆資料,資料輸入程式如下

DATA TRIAL_2;
INPUT DRUG $ _TYPE_ $ EFFECT;
DATALINES;
A N 30
A MEAN 89
A STD 12
B N 30
B MEAN 95
B STD 18
;
RUN;

接下來執行PROC TTEST程序就簡單了,和一般寫法沒有太大差異

PROC TTEST DATA=TRIAL_2;
CLASS DRUG;
VAR EFFECT;
RUN;

以上程式可於SAS 9.1.3和SAS 9.2執行。

2009年6月17日

熬夜看書

數統最後一學期的期末考終於到了,
每次考試幾乎都要熬夜看書,可是又不敢不睡,
隔天還有許多待續工作要完成。

胡言亂語中,做個紀念吧!
明天(今天?)也要考試的伙伴加油吧!

2009年3月29日

Stay Hungry, Stay Foolish

真是一場發人深思的演說。

這個片段的起頭就說到了死亡,中間也提及了Your time is limited..,死亡是人類重要,但又深深隱身在人群之中,舉個例,某個工安事件發生了,新聞|社會最關注的就是有無人員死亡,誰要對這個死者負責,家屬萬分哀痛等。每個人都知道死亡一定會公平的發生在每個人身上,有可能就是下一秒,但平常生活中,我們卻常刻意忽略這個重要的議題,假裝死亡不存在,只有在她真的發生時才覺得重要,但對個人來說太晚了。

Steve Jobs曾經得到死亡率超高的胰臟癌,但他活下來了,可能因此體會到死亡的重要,重新去排序生活中的重要的事情,他也提到了不要被傳統的教條束縛,要多聽聽自己的聲音,在死亡前多完成「自己想做的事情」,也許只是件傻事。(不過我相信Steve Jobs在發現胰臟癌之前就懂得尊重自己)

Who is Steve Jobs,請自行查閱Wiki的資訊吧(http://zh.wikipedia.org/w/index.php?title=Steve_Jobs&variant=zh-tw

完整的演說-1(只有英文字幕):

完整的演說-2(只有英文字幕):

2009年3月26日

遇見未來的

這4個研究所的小朋友,是我於2007年就期待看到的一群,當時還在猜測他們是誰,會哪裡考來。

現在他們已經入學超過了半年,也認識快9個月了,我無法否認,對這群小朋友有不一樣的感覺,因此也花了比較多時間在他們身上,把一些我覺得重要的東西讓他們瞭解,但當下一屆出現時,也許我這個熱情就會修正了。終究,他們是我曾經期待的一群。〔將自己放在未來,總有減壓的和跳離現實痛苦的感覺,享受過就好了,不要沈迷在未來與過去之間。〕

我沒讀過國立大學,我不知道那邊的資源,但我的過往經驗告訴我,他們真的很幸福,老師數比學生多,每次諮詢報告老師全到的陣容,還真是完整,除了老師的資源,我同事總是能給這群小朋豐富又實務的資源,這也許就是某種「產學合作」吧。如果當時有這樣的資源,也許我就不用花那麼多時間自修了,想當初自己嘗試「認識」MACRO或是說入門,就花了好多好多時間了。

2009年2月1日

Google 變成有害網頁?

很難得的經驗,用Google找東西,所有的網頁均變成「這個網頁可能會損害您的電腦」,連Google首頁都有一樣的狀況(下圖)。

2009年1月8日

兩隻笨貓終於可以重逢了

橘子貓今天終於可以在遙遠的那一方見到另外一隻笨貓了,雖然這一切真的是很突然。
永遠祝福那可愛的兩隻笨貓。