作者frojet (Lucy Lee)
看板R_Language
標題[問題] 如何內容資料轉置成欄位名稱來計算
時間Mon Mar 18 17:11:46 2019
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
我有一組近5萬筆資料,格式如下
每筆"門診序號"就是一次看診紀錄,"處置代碼"為某個藥品代號
每個病人看診,都會開立1~5種不等藥品。
https://i.imgur.com/UXNj7M6.jpg
原始資料如左圖,但我想轉換資料排版(如右圖)
將藥品代號轉換成每一個欄位,
根據原資料有開立該藥品,則在該欄成 註記成 Yes
方便我後續能統計特定藥品使用頻率
[程式範例]:
不知道如何寫?
[環境敘述]:
windows 10
R version 3.4.4
[關鍵字]:
--
當你指責別人時,不要忘記
一指指向別人,四指是指向自己 ~frojet~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.50.136.241
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1552900311.A.18D.html
※ 編輯: frojet (110.50.136.241), 03/18/2019 17:19:39
1F:推 locka: 所以所有藥品(1:n)要變成欄位X2到Xn是嗎? 03/18 17:55
2F:→ locka: 門診序號會不會重複? 03/18 17:55
3F:→ frojet: 門診序號不會重複 03/18 18:11
4F:→ frojet: 如果能把上百個藥品名稱都轉換各別欄位是最棒的。 不過 03/18 18:18
5F:→ frojet: 我這裡目前分析需求,其實只要抓出其中六個藥品來對應統 03/18 18:18
6F:→ frojet: 計(如我圖上 綠色 和紅色的藥品)是目前要分析的項目 03/18 18:18
8F:→ cywhale: 看起來適用melt, dcast來解,這類問題應該提供部分資料較 03/18 22:29
9F:→ cywhale: 方便解答...,只有img, 裏頭資料又很特殊,很難自動產生 03/18 22:31
10F:→ cywhale: 題外話前日再用dcast使用自訂fun.aggregat意外踩到一bug 03/18 22:32
12F:→ frojet: 謝謝各位,是說 我要如何提供一小部分資料? 03/19 04:23
13F:→ frojet: 各位通常會建議上傳至那個網站,供人 03/19 04:23
14F:→ frojet: 下載 03/19 04:23
15F:→ tcn1john: 如果先把處置代號paste起來合併成一欄,再用grep抓藥名 03/19 14:35
16F:→ tcn1john: 不知道如何? 03/19 14:35
17F:→ andrew43: 雲端空間隨便一個都可以,把敏感資料保護或隱敝好就行 03/19 23:11
19F:→ andrew43: 回樓上,這不太穩健,要確定pattern只會抓到完整名才行 03/20 08:42
20F:→ Meng24: 我想到很土法煉鋼的方式XD 03/20 13:16
21F:→ Meng24: 新建一個欄位名稱是藥品名的欄位 03/20 13:16
22F:→ Meng24: 然後用中括號選出你的處置代碼中有藥品的門診號碼 再將這 03/20 13:16
23F:→ Meng24: 些門診號碼的藥品名欄位填入yes就好了 03/20 13:16