在R中按组从前1行中选择多列

在R中按组从前1行中选择多列,r,R,给定以下data.frame数据: 我需要按州列出成本最低的前1名城市。在上述情况下,结果将是: state city cost CA Fresno 7 TX Dallas 8 使用data,tapplycost,state,min可获得以下结果: 请给我指一下正确的方向。谢谢 你可以试试dplyr 或者用切片 或者是一个基本的R选项 data[with(data, !!ave(cost, state, FUN=function(x) x==min(x)))

给定以下data.frame数据:

我需要按州列出成本最低的前1名城市。在上述情况下,结果将是:

state   city    cost
CA      Fresno  7
TX      Dallas  8
使用data,tapplycost,state,min可获得以下结果:

请给我指一下正确的方向。谢谢

你可以试试dplyr

或者用切片

或者是一个基本的R选项

 data[with(data, !!ave(cost, state, FUN=function(x) x==min(x))),]
你可以试试dplyr

或者用切片

或者是一个基本的R选项

 data[with(data, !!ave(cost, state, FUN=function(x) x==min(x))),]

使用sqldf包,您可以执行以下操作:

library(sqldf)
res <- sqldf("select * from data group by state having MIN(cost)")

使用sqldf包,您可以执行以下操作:

library(sqldf)
res <- sqldf("select * from data group by state having MIN(cost)")

Dusan,你知道如果我需要按成本计算的top n订单,情况会怎样吗?这才是我真正需要完成的。谢谢Dusan,你知道如果我需要按成本计算的top n订单,情况会怎样吗?这才是我真正需要完成的。谢谢
 data[with(data, !!ave(cost, state, FUN=function(x) x==min(x))),]
library(sqldf)
res <- sqldf("select * from data group by state having MIN(cost)")