数据排序
您可以使用order(column, decreasing=TRUE)[1:4]
将投诉类型列子集。它将返回向量中最大的四个值。然后很容易将其转换为任何需要的形式;这里的数据帧是有道理的:
lst <- lapply(df[-1], function(col) df[,'Complaint.Type'][order(col, decreasing=T)[1:4]])
as.data.frame(lst)
# BRONX BROOKLYN MANHATTAN QUEENS
#1 Facility Facility Adopt Facility
#2 Abuse Abuse Advocate Adopt
#3 Park Air Park Park
#4 Advocate Adopt Abuse Advocate
数据
df <- data.frame(Complaint.Type=c('Adopt', 'Advocate', 'Air', 'Abuse', 'Facility','Park'),
BRONX=c(0,5, 1, 33, 81, 7),
BROOKLYN=c(2,0,100,148,177, 1),
MANHATTAN=c(129,49,2,9,1,15),
QUEENS=c(50,3,0,3,2469,6))
就像一个魅力!谢谢!你能帮我理解df [-1]和函数(col)的作用吗? –
'df [-1]'删除第一列。我们不希望在投诉类型 –
中包含投诉类型'函数(col)df [,'投诉...... [1:4]]'被称为匿名函数。我创建了名字'col',我可以使用任何字符串来定义变量。 col只是因为我们正在谈论列而有名。有关匿名函数的完整说明,请访问https://www.safaribooksonline.com/library/view/the-art-of/9781593273842/ch07s13.html –
看'order' .. –
所以,我把每个市镇的一个子集,它使用顺序? –
@Alex尝试订单,testsort