我创建了一个table
并将其设置为数据框。前四个变量是因素,而后四个(票价,税,通,净)是数字。我需要找到哪个TA(旅行社)卖得最多。如何在最大结果上打印名称?例如:3300,支付更多。另外,在这个表中我有两个变量(3300和3303),票数最高(4)是R选择第一个最高变量吗?我能展示所有结果吗?含义:3300支付更多4 3303支付票4。
IATA NAME TICKET_NUM PAX FARE TAX COMM
1 3300 pay more 700 john cohen 10 1.1 2
2 3300 pay more 701 james levy 11 1.2 2
3 3300 pay more 702 jonathan arbel 12 1.2 3
4 3300 pay more 703 gil matan 9 1.0 2
5 3301 you pay 704 ron natan 19 2.0 6
6 3301 you pay 705 don horvitz 18 2.0 6
7 3302 pay by ticket 706 lutter kaplan 9 1.2 0
8 3303 enjoy 707 lutter omega 12 1.2 0
9 3303 enjoy 708 graig daniel 14 1.3 1
10 3303 enjoy 730 orly rotenberg 15 1.0 1
11 3303 enjoy 731 yohan bach 12 1.0 1
答案 0 :(得分:0)
假设NAME
是旅行社名称而x
是数据,您可以使用aggregate
获取每个座席的总和:
agg <- aggregate(FARE ~ IATA, data=x, FUN=sum)
然后排序并采取顶部元素:
top_agent <- agg[order(agg$FARE, decreasing=TRUE),][1,] # Does not account for ties!
编辑补充:我想我误解了你的问题。如果您想知道每个代理商销售的票数而不是票的总价值,您可以使用aggregate
轻松计算它们。这可以通过向每行添加票证计数并获取票证数量的总和来轻松实现。每行有一张票:
x$tickets <- 1
此汇总给出了每个代理的门票数量:
agg <- aggregate(tickets ~ IATA, data=x, FUN=length) # Equivalently, FUN=sum
此处的最高代理程序由非常类似的计算给出:
top_agent <- agg[order(agg$tockets, decreasing=TRUE),][1,] # Still does not account for ties.
然后,此代理人的所有活动都由以下人员提供:
x[x$IATA == top_agent,]