- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设一家公司有 3 位老板和 20 位员工,其中每个员工
完成了 n_Projects
,总体绩效
百分比:
> df <- data.frame(Boss = sample(1:3, 20, replace=TRUE),
Employee = sample(1:20,20),
n_Projects = sample(50:100, 20, replace=TRUE),
Performance = round(sample(1:100,20,replace=TRUE)/100,2),
stringsAsFactors = FALSE)
> df
Boss Employee n_Projects Performance
1 3 8 79 0.57
2 1 3 59 0.18
3 1 11 76 0.43
4 2 5 85 0.12
5 2 2 75 0.10
6 2 9 66 0.60
7 2 19 85 0.36
8 1 20 79 0.65
9 2 17 79 0.90
10 3 14 77 0.41
11 1 1 78 0.97
12 1 7 72 0.52
13 2 6 62 0.69
14 2 10 53 0.97
15 3 16 91 0.94
16 3 4 98 0.63
17 1 18 63 0.95
18 2 15 90 0.33
19 1 12 80 0.48
20 1 13 97 0.07
CEO 让我计算每个老板的工作质量。但是,他要求进行特定计算:每个 Performance
值的权重必须等于 n_Project
值占该老板总 n_Project
的权重.
例如,对于老板 1,我们共有 604 个 n_Projects
,其中项目 1 的性能权重为 0,13
(78/604 * 0,97 = 0,13)
,项目 3 的性能权重为 0,1
(59/604 * 0,18 = 0,02
) , 等等。这些性能权重的总和就是 Boss 性能,对于 Boss 1 来说是 0,52
。所以,最终的输出应该是这样的:
Boss total_Projects Performance
1 604 0.52
2 340 0.18 #the values for boss 2 are invented
3 230 0.43 #the values for boss 3 are invented
然而,我仍在为此苦苦挣扎:
df %>%
group_by(Boss) %>%
summarise(total_Projects = sum(n_Projects),
Weight_Project = n_Projects/sum(total_Projects))
除了这个问题,你能给我任何关于这个问题的反馈(特别是我的代码)或任何提高数据操作技能的建议吗? (你可以在我的个人资料中看到我问了很多这样的问题,但我仍然无法自己解决)
最佳答案
我们可以获得“n_Projects”和“Performance”的乘积的总和
,然后除以“total_projects”
library(dplyr)
df %>%
group_by(Boss) %>%
summarise(total_projects = sum(n_Projects),
Weight_Project = sum(n_Projects * Performance)/total_projects)
# or
# Weight_Project = n_Projects %*% Performance/total_projects)
# A tibble: 3 x 3
# Boss total_projects Weight_Project
# <int> <int> <dbl>
#1 1 604 0.518
#2 2 595 0.475
#3 3 345 0.649
关于r - group_by() summarise() 和权重百分比 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912864/
这个问题在这里已经有了答案: Summarizing multiple columns with dplyr? [duplicate] (5 个回答) 去年关闭。 遵循 https://www.tid
这个问题在这里已经有了答案: Why does as_tibble() round floats to the nearest integer? (1 个回答) 1年前关闭。 我想知道是否有任何简单的
这个问题在这里已经有了答案: Repeat each row of data.frame the number of times specified in a column (10 个答案) 关闭
好的,接下来是第二个 R 问题。 我的数据: Timestamp St_01 St_02 ... 1 2008-02-08 00:00:00 26.020 25.840
我想知道是否可以通过 summarise 使用函数( dplyr 0.1.2 ) 返回多个值(例如 describe 包中的 psych 函数)。 如果没有,是因为它还没有实现,还是有理由认为它不是一
我有一个包含 3 列的简单数据框:名称、目标和实际。因为这是更大数据帧的简化,所以我想使用 dplyr 来计算每个人实现目标的次数。 df y){return(0)}
我有一个包含大约 420 万个观察值的数据集。我的代码如下: new_dataframe = original_dataframe %>% group_by(user_id, date) %>%
似乎summarise和summarise_each正在对其提供的回调函数进行不必要的额外调用。假设我们有以下内容 X % group_by( Group ) %>% summarise_each(
假设我有一个返回单个数字的 data.frame 函数,现在我想在 dplyr 中使用 summarise 新变量应该是此函数适用于由另一个变量分组的 data.frame。 这是一个愚蠢的例子 df
假设一家公司有 3 位老板和 20 位员工,其中每个员工 完成了 n_Projects,总体绩效百分比: > df df Boss Employee n_Projects Performanc
我正在使用 summarize 从表格中总结组均值R 中 dplyr 包中的函数。我想动态地执行此操作,使用存储在另一个变量中的列名字符串。 以下是“正常”方式,当然可以工作: myTibble
假设我有一个这样的数据框: group1 % group_by(group1) %>% arrange(desc(value)) %>% slice(seq_len(3)) %>% m
我想按数字聚合以下数据框(变量 y 和 z)并按“权重”对其加权。其工作方式如下: df = data.frame(number=c("a","a","a","b","c","c"), y=c(1,2
看来summarise和 summarise_each正在对它们提供的回调函数进行不必要的额外调用。假设我们有以下 X % group_by( Group ) %>% summarise_each(
我正在尝试计算在 RStudio 中找到的出生体重数据集 ( birthwt ) 的描述性统计数据。但是,我只对几个变量感兴趣:age , ftv , ptl和 lwt . 这是我到目前为止的代码:
基本上,我想要列 i 和 j 的所有唯一组合;并期望 k 列中的 NA 如果它不可用(类似于执行 group_by & summarise,但是所有独特的可能组合)。 tidyverse 中是否有任何
在R/dplyr中,我可以做到 summarise(iris, max_width=max(Sepal.Width), min_width=min(Sepal.Width)) 并得到: max_w
我想知道我在这里做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想
我想知道我在这里做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想
我想知道我做错了什么。。我尝试结合使用case_When()和SUMMISE()来获取每个id的摘要,具体取决于每个id的行数。。创建于2023-09-09,Reprex v2.0.2。但我只想有:
我是一名优秀的程序员,十分优秀!