【发布时间】:2014-07-16 07:29:38
【问题描述】:
学习 R 作为一种爱好并使用我的一些炉石游戏
背景:使用 dplyr 来到这里:
todayhs %.%
group_by(hero, result) %.%
select(hero, opponent, result) %.%
summarise(
count = n())
数据:
hero result count
Mage loss 12
Mage win 9
Rogue loss 3
Rogue win 1
Warrior loss 6
Warrior win 5
预期结果:该特定英雄的百分比列
hero result count percent
Mage loss 12 57%
Mage win 9 43%
Rogue loss 3 75%
Rogue win 1 25%
Warrior loss 6 55%
Warrior win 5 45%
我的障碍:
我理解 filter(hero = "Mage") 并使用 prop.table 会得到该单个类的百分比结果,但是有没有办法一次获取所有数据,如上面?
我的尝试
transform(todayhs.mage, percents = ifelse(hero == "Mage",
prop.table(todayhs.mage$count[1:2]),""))
给我
hero result count percents
Mage loss 12 0.571428571428571
Mage win 9 0.428571428571429
Rogue loss 3
Rogue win 1
Warrior loss 6
Warrior win 5
我假设我可以编写一个函数并单独删除它们......但这感觉不对。 也许有更好的方法使用 dplyr 添加 group_by(hero, count)?我在这里挠头。
【问题讨论】: