r - 如何使用 R 编程按列值分组

标签 r count group-by

我有一张 table

员工详细信息:

EmpID | WorkingPlaces | Salary
1001  | Bangalore     | 5000
1001  | Chennai       | 6000
1002  | Bombay        | 1000
1002  | Chennai       | 500
1003  | Pune          | 2000
1003  | Mangalore     | 1000

同一名员工在一个月内在不同的地方工作。如何找到薪资最高的 2 名员工。

结果表应该如下所示

EmpID | WorkingPlaces | Salary
1001  | Chennai       | 6000
1001  | Bangalore     | 5000
1003  | Pune          | 2000
1003  | Mangalore     | 1000

我的代码:R语言

knime.out <- aggregate(x= $"EmpID", by = list(Thema = $"WorkingPlaces", Project = $"Salary"), FUN = "length") [2]

但这并没有给我预期的结果。请帮助我更正代码。

最佳答案

我们可以尝试使用dplyr

library(dplyr)
df1 %>%
   group_by(EmpID) %>% 
   mutate(SumSalary = sum(Salary)) %>% 
   arrange(-SumSalary, EmpID) %>% 
   head(4) %>%
   select(-SumSalary)

关于r - 如何使用 R 编程按列值分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42504927/

相关文章:

python - 比较文本文件内容的最快方法

c# - Linq 的 GroupBy 方法如何延迟执行?

mysql - 如何摆脱 HAVING 子句中的非分组字段

mysql - 使用 SQL 查询发送通知

r - 是否有可能在 R 中转义 "["

r - 使用 dplyr 根据列值范围选择列

count - 我们如何有效地计算 Elixir 中整数的位数?

c - 如何完成 "letters"功能? (链接列表)

c++ - 在 Armadillo 中保存数组(立方体)以便稍后在 R 中加载的最佳格式

r - 在 dplyr 中使用动态位置数创建滞后/超前变量