2014-01-20 45 views
-6

我创建了一个table并将其设置为数据框。前四个变量是因素,而最后四个变量(票价,税收,通讯,净值)是数字。我需要找到哪个TA(旅行社)出售了最多的门票。我怎样才能打印最大的结果名称?例如:3300,支付更多。另外,在这张表中我有两个变量(3300和3303),票数最高(4)R是否选择第一个最高变量?我可以提供所有结果吗?意思是:3300凭票多加4 3303薪酬4.从列表中提取数据 - 查找最高值

Example table

+1

以供将来参考,发布数据的图像几乎是无用的 - 复制和粘贴的实际值作为文本,或甚至更好地使用'dput(tablename)'来吐出数据的表示。 – thelatemail

+0

-1我不明白你在问什么。一个例子:3300和3303是值而不是变量。此外,您不使用表格中的列名称,而是使用其他一些字词。 – ziggystar

+0

我需要找到哪个旅行社(IATA号码和名字)出售最多的门票。在发现我需要R打印出售最高票数的IATA号码和旅行社名称后。在这种情况下,IATA 3300和3303.我输入IATAs作为因素而不是数字。下面的答案给出了第一高的结果,而不是表中的所有结果。谢谢。 –

回答

0

我假设IATA是机票代理变量:

df = data.frame(IATA=c(3300, 3300, 3300, 3300, 3301, 3301, 3302, 3303, 3303)) 
table(df$IATA) 
# 3300 3301 3302 3303 
# 4 2 1 2 

正如你所看到的,table给票的频率每个售票代理销售。

names(which.max(table(df$IATA))) 
# [1] "3300" 

如果有关系,你需要所有这些,尝试:

df = data.frame(IATA=c(3300, 3300, 3300, 3300, 3301, 3301, 3302, 3303, 3303, 3303, 3303)) 
names(which(table(df$IATA) == max(table(df$IATA)))) 
# [1] "3300" "3303" 
+0

谢谢,它工作。变量结构在这种情况下是至关重要的吗? –

+0

不,这应该适用于因子变量以及非因子变量。 – josliber

+0

谢谢,如果我用IATA和名字创建了一个DF,我怎样才能打印最大结果的名称?例如:3300,支付更多。另外,在这个表格中,我有两个变量(3300和3303),其票数最高,但是R选择了第一个。我可以提供所有结果吗? –