[問題] 新手的類別加總問題

看板R_Language作者 (kostella)時間8年前 (2017/05/20 14:45), 8年前編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述] 假設資料如下 invoice country rev 1     uk   20 1     uk   15 2     hk   13 2     hk   12 3     tw    9 4     uk   30 4     uk   50 每一筆資料代表一項商品的售出 而相同invoice代表位於同一訂單中 我要算出的是 「各個國家訂單的rev平均為何」 我欲先將同invoice的rev加總 再依country進行計算 爬文看到了版上高手g大提供的 tapply(as.numeric(x[,"數值"]),x[,"類別"],sum) 能將同invoice的rev加總 但卻會忽略了contury的資料 無法繼續運算下去QQ 請問有甚麼方法可以解決嗎? 謝謝版上各位高手! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.6.60 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1495262716.A.40C.html

05/20 15:08, , 1F
你式子中的sum改mean, 類別改country 應該可以吧~
05/20 15:08, 1F
這樣變成計算各國家的Rev平均,還要將同invoice的併在一起>”<有沒有辦法能夠合併兩欄資料且保留另一欄數據呢? ※ 編輯: kostella (1.164.6.60), 05/20/2017 15:36:30

05/20 16:17, , 2F
你是要aggregate(rev~country+invoice, data=x,FUN=mean)
05/20 16:17, 2F

05/20 19:43, , 3F
dplyr的group_by(data, invoice, country) %>% summarise(m
05/20 19:43, 3F

05/20 19:43, , 4F
ean(rev))這樣呢?
05/20 19:43, 4F

05/20 22:14, , 5F
這個條件:"而相同invoice代表位於同一訂單中"被忽略了
05/20 22:14, 5F

05/20 22:20, , 6F
用c大的寫法, res~invoice+country, Fun=sum
05/20 22:20, 6F

05/20 22:20, , 7F
再做一次 rev~country, Fun = mean 這樣應該就可以了
05/20 22:20, 7F

05/20 23:34, , 8F
我終於成功做出來了QQ~~~~超級感謝各位大大的幫忙!
05/20 23:34, 8F
文章代碼(AID): #1P7-NyGC (R_Language)
文章代碼(AID): #1P7-NyGC (R_Language)