Re: [問題] plyr

看板R_Language作者 (零度空間)時間9年前 (2015/07/03 10:46), 編輯推噓4(400)
留言4則, 1人參與, 最新討論串3/5 (看更多)
延伸問題 原始資料 id year cost D 2012 120 E 2013 300 F 2014 200 A 2015 155 E 2011 200 F 2014 160 B 2013 165 B 2015 185 C 2012 350 A 2014 310 E 2014 225 F 2015 175 想變成這樣子 ID 12計數 13計數 14計數 15計數 2012金額 2013金額 2014金額 2015金額 總計數 總金額 A B C D E F 雖然 資料量少 EXCEL 可以計算 我想知道R 是否也能用少量語法做到 ※ 引述《celestialgod (攸藍)》之銘言: : library(plyr) : library(dplyr) : set.seed(1) : d <- data.frame(year = rep(2000:2002, each = 3), : count = round(runif(9, 0, 20))) : ddply(d, "year", summarise, tol = sum(count), count_year = n()) : # year tol count_year : # 1 2000 23 3 : # 2 2001 40 3 : # 3 2002 45 3 : # 單純用plyr做 : set.seed(1) : d <- data.frame(year = rep(2000:2002, each = 3), : count = round(runif(9, 0, 20))) : d$ones = 1 : ddply(d, "year", summarise, tol = sum(count), count_year = sum(ones)) : # 用dplyr + magrittr : library(dplyr) : library(magrittr) : set.seed(1) : d <- data.frame(year = rep(2000:2002, each = 3), : count = round(runif(9, 0, 20))) : d %>% group_by(year) %>% summarise(tol = sum(count), count_year = n()) : ※ 引述《psinqoo (零度空間)》之銘言: : : [問題類型]:: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : : 請把以下不需要的部份刪除 : : 使用者(已經有用R 做過不少作品) : : [問題敘述]: : : 請簡略描述你所要做的事情,或是這個程式的目的 : : set.seed(1) : : d<- data.frame(year = rep(2000:2002, each = 3),3+ count = round(runif(9, 0, 20))) : : print(d) : : 資料長這樣 : : year count : : 1 2000 5 : : 2 2000 7 : : 3 2000 11 : : 4 2001 18 : : 5 2001 4 : : 6 2001 18 : : 7 2002 19 : : 8 2002 13 : : 9 2002 13 : : ddply(d, "year", summarise, tol = sum(count)) : : 會變這樣子 : : year tol : : 1 2000 23 : : 2 2001 40 : : 3 2002 45 : : 但我想讓它變 : : year tol 計數 : : 1 2000 23 3 : : 2 2001 40 3 : : 3 2002 45 3 : : 3<-代表 2000 出現三次 : : 該如何改寫? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.43.131 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1435891596.A.594.html

07/03 11:22, , 1F
dcast(data.fr, id~year)
07/03 11:22, 1F

07/03 11:23, , 2F
類似那樣, 應該可以自己從例子延伸
07/03 11:23, 2F

07/03 11:35, , 3F
忘記推library(reshape2), data.table有專用的func
07/03 11:35, 3F

07/03 11:35, , 4F
tion在data.table裡面
07/03 11:35, 4F
文章代碼(AID): #1LbVUCMK (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 3 之 5 篇):
0
3
9年前, 07/01
4
4
文章代碼(AID): #1LbVUCMK (R_Language)