首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有人能帮我解决这个问题吗?

有人能帮我解决这个问题吗?
EN

Stack Overflow用户
提问于 2022-11-18 15:41:14
回答 1查看 34关注 0票数 3

我正在做一张桌子,上面放着employeeID,工作间和酒类栏。我试图在SQL和R中查询相同的结果,但也面临一些困难。

代码语言:javascript
运行
复制
SELECT EmployeeID, jobtitle,AVG(Salary) OVER(PARTITION BY jobtitle)
FROM EmployeeSalary

这个查询正在缩小正确的result.When,我使用以下代码在R中执行相同的查询:

代码语言:javascript
运行
复制
employee_data %>% 
  select(employeeid, jobtitle,salary) %>%
  group_by(jobtitle) %>% 
  summarise(mean(salary))

产出只显示职称和平均收入栏。即使我在group_by子句中使用employeeid而不是select。它仍然不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-18 15:47:54

您应该在这里使用mutate而不是summarisesummarise只显示来自group_by的列。

代码语言:javascript
运行
复制
library(dplyr)
employee_data <- data.frame(employeeid = c(1, 2, 3, 4, 5, 6), 
                            jobtitle = c('a', 'a', 'a', 'b', 'b', 'c'), 
                            salary = c(100, 200, 300, 250, 400, 400))
employee_data %>% 
  select(employeeid, jobtitle,salary) %>%
  group_by(jobtitle) %>% 
  mutate(avg_salary = mean(salary)) %>%
  ungroup

#> # A tibble: 6 × 4
#>   employeeid jobtitle salary avg_salary
#>        <dbl> <fct>     <dbl>      <dbl>
#> 1          1 a           100        200
#> 2          2 a           200        200
#> 3          3 a           300        200
#> 4          4 b           250        325
#> 5          5 b           400        325
#> 6          6 c           400        400
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74492041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档