gpt4 book ai didi

R Dataframe 重组和总结

转载 作者:行者123 更新时间:2023-12-05 02:29:48 24 4
gpt4 key购买 nike

我有一个如下所示的数据框:

Year   Person   Office
2005 Peter Boston
2007 Peter Boston
2008 Peter Chicago
2009 Peter New York
2011 Peter New York
2003 Amy Seattle
2004 Amy Boston
2006 Amy Chicago
2007 Amy Chicago

我想计算一个办公室人员级别的标准化度量(计数),它捕获一个人在来到当前办公室之前经历过的办公室数量。该度量通过到达当前位置之前的总年数进行归一化。下面是理想的输出。对于彼得来说,波士顿是他的第一个办公室,因此,他对波士顿的标准化测量计数为 0。对于彼得来说,芝加哥是他的第二个办公室,他在 2008-2005=3 年来到芝加哥办公室。因此,他对芝加哥的标准化测量计数是 1/3。

Office    Person  Count
Boston Peter 0
Boston Amy 1
Chicago Peter 1/3
Chicago Amy 2/3
New York Peter 1/2
Seattle Amy 0

最佳答案

你可以使用

library(dplyr)

df %>%
group_by(Person, Office) %>%
slice_min(Year) %>%
arrange(Year) %>%
add_count() %>%
group_by(Person) %>%
mutate(Count = if_else(cumsum(n) == 1, 0, (cumsum(n) - 1) / (Year - first(Year))),
.keep = "unused") %>%
ungroup()

返回

# A tibble: 6 x 3
Person Office Count
<chr> <chr> <dbl>
1 Amy Seattle 0
2 Amy Boston 1
3 Peter Boston 0
4 Amy Chicago 0.667
5 Peter Chicago 0.333
6 Peter New_York 0.5

关于R Dataframe 重组和总结,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72038933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com