跳到主要內容

發表文章

目前顯示的是 2021的文章

大器可以晚成--我到底有沒有本事和毅力活出我的人生?

  成功沒有期限,重點是:認識自己,對我來說這是一本關於教養自己的書。                                                                                                             商琪視野 等待發展完全的後青春期 你是否內心有個小小孩一直很不願意長大 ? 在面對社會化的過程中又不得成熟面對,有時努力要表現出有責任感,反而又顯毛躁急進,缺乏執行力,最後逃避躲在自己的小世界裡。   書中提及從青春期到成人之間有一個階段,叫後青春期指 18~25 歲之間,邊緣系統負責 產生情緒 ,前額葉皮質負責 管理情緒 ,青春期發展邊緣系統,而前額葉皮質在接下來 10 年還在持續發展,因此當我們 18 歲後其實是無法好好管理情緒,在需要做判斷或接受升學考試和求職時,無法處理好情緒壓力就容易做出超出常人理解的事。   國外很流行 gap year 空檔年或稱壯遊,有些人是高中升大學、大學期間或畢業後出去旅行,剛好就是 18~25 歲之間,藉由認識自己增加視野寬度及廣度,對世界能有不一樣的認知及保有好奇心,讓自己未來在面對困境時能有抒發的技巧。   我自己是在唸研究所前去國外半年,老實說剛開始出國只是覺得姊姊們都有出去我也要,當時的英文大約只有國小程度吧, 憑著一股傻勁支持自己往前走,在邁入機場通關道路上以及飛機落地時,強忍淚水默默啜泣,問自己為什麼要選擇來受罪,當時沒有答案,你問我學了什麼 ? 在我想放棄某件事時,就會想起當時的勇敢和努力克服弱懦 的小雞心。   也許我們在面對 挫折 時都想逃避,但其實只是需要時間等待,磨練後渡過後青春期,會找到較成熟的自己。   時間的禮物 研究指出隨時間和經驗的加成,可提升神經連結和認知能力,我們會變得更聰明和更有創意,認知行為的研究發現每個人都擁有兩種智力,流體智力 (fluid intelligence) 及晶體智力 (Crystallized Intelligence) 。流體 智力在早年 20 歲達高峰,隨生長曲線變化而獲得,邏輯歸納及演繹的能力;晶體智力是指在實踐中以習得的經驗為基礎的認知能力,職業的知識或業餘愛好的能力。 中年後晶體智力人就會持續上升。 時間真是老天爺給大家

使用python繪製Upset plot

  Upset plot 將集合視覺化,特別是當集合數大於 5 的時候, Upset plot 相較於 Venn plot 可以更清楚的呈現。 Upset plot 來自於 Venn plot 的變化, Venn plot 較常用於生物資訊呈現 ( 圖 1-3) ,但是往往會遇到集合數太多不易呈現的情況,從下圖可清楚看到當集合數為 4 的時候,畫面已經有些複雜,所以 Venn plot 的缺點就是當集合數過多時,畫面所呈現的資訊反而會造成視覺上的負擔,增加訊息解讀的困難性,失去視覺化的意義 — 方便閱讀,因此當集合數 ≥5 時不建議使用 Venn plot ,而後衍生出 Upset plot 。 Upset plot 優勢在於當集合數 ≥5 時可以清楚呈現資訊,不會造成視覺上的混亂。 2020 年影響全球的 COVID-19 ,在面對未知的流行病時沒有人可以確定真正有效的治療物,因此優先挑出具有高度可能性的藥物,嘗試用於治療病患,在高度不確定性的情況下會產生多種治療組合,這樣的情況就很適合採用 Upset plot 呈現 Real World 用藥資料,這裡有一篇發表於 CANCER DISCOVERY 的文章 ,這是一個很好的實務範例 ( 圖 4) ,以下擷取這篇 paper 的部份數據,簡單的做個 Upset plot 。 操作步驟 1. 選定主題,準備素材 以這篇文章中的數據來畫 Upset plot 圖 。開始執行前,需要先安裝 Upset plot 的套件。在 Window 環境下,開起命令提示字元,輸入 pip install upsetplot ,安裝完成後,就可進入繪圖步驟。   2. 繪製 Upset plot 這邊帶入 paper 中前 10 筆的數據。 from upsetplot import generate_counts from upsetplot import plot from upsetplot import from_memberships example = from_memberships([['Azithromycin','Hydroxychloroquine'], ['Hydroxychloroquine'

python與SAS資料處理-歸人與排除重複

  歸人顧名思義就是將一個人多筆的資料整合,每人只留下 1 筆。   通常取得的資料都是原始資料,並未經過整理。例如手上有疑份顧客購物紀錄,裡面有每個顧客在這 1 年內的每筆消費紀錄,這是一份以每次消費紀錄為 1 筆的紀錄形式,所以一個人可以有多筆的消費紀錄。當我們想要知道這些消費紀錄源自於多少顧客的購買時,這時候就需要用到歸人的概念,將資料轉換為每一個人只有 1 筆資料的紀錄形式 ( 如下圖所示 ) 。 以 SAS 進行資料歸人 歸人留 1 筆消費紀錄 proc sort data =cost; by ID time; run ; /* 在規筆前依照 ID 跟消費日期做排序 */ data cost_1; set cost; by ID; if first.id; run ;   /* 保留第一筆資料 */   之前已經有針對 proc sort 的排序語法進行說明,有需要可參考這篇 文章 , SAS 排序的設定值為升冪,也就是說每個人都會從最早那次的紀錄開始往後排序,所以用 first.id 就可以留下每個人最早那次的消費紀錄。 這邊也可以用排除重複的概念保留 1 筆資料 proc sort data =cost out =cost_2 nodupkey ; BY ID; run ; 利用 nodupkey ,將 ID 重複的資料刪除,僅保留每個 ID 第一次出現的該筆紀錄。   歸人累計所有消費金額 proc sort data =cost; by ID time; run ; data cost_1; set cost; by ID; if first.id then count= 0 ;/* 每個人第一筆資料都令 count=0*/ count+NT;/* 同 ID 累計 NT 數值 */ if last.id; run ;   除了要歸人以外,還要累計每個仁所有的消費金額,所以這邊就會創建一個 count 欄位,每一個人的第一筆 ID 令 count=0 ,在同樣 ID 時累加 NT 的數值,最後每個人保留最後一筆 ID ,也就是最後累計的總額。 以 Python 進行資料歸人 歸人留 1 筆消費紀錄 cost.sort_v