[问题] 新手的类别加总问题

楼主: kostella (kostella)   2017-05-20 14:45:13
[问题类型]:
程式咨询(我想用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
请问有什么方法可以解决吗?
谢谢版上各位高手!
作者: cywhale (cywhale)   2017-05-20 15:08:00
你式子中的sum改mean, 类别改country 应该可以吧~你是要aggregate(rev~country+invoice, data=x,FUN=mean)
作者: locka (locka)   2017-05-20 19:43:00
dplyr的group_by(data, invoice, country) %>% summarise(mean(rev))这样呢?
作者: Edster (Edster)   2017-05-20 22:14:00
这个条件:"而相同invoice代表位于同一订单中"被忽略了用c大的写法, res~invoice+country, Fun=sum再做一次 rev~country, Fun = mean 这样应该就可以了
楼主: kostella (kostella)   2017-05-20 23:34:00
我终于成功做出来了QQ~~~~超级感谢各位大大的帮忙!

Links booklink

Contact Us: admin [ a t ] ucptt.com