我有一个数据帧,我通过分组然后在do()的每个分组部分上运行一个函数来分割。我遇到的问题是函数内部有一个变量需要根据每个不同的组进行更改。我怎么能解释这个?
数据按地区和联盟分组..
Account Region League Owner Value
Acc1 East Major Sally 1536
Acc2 East Minor Jeff 2200
Acc3 East Minor Larry 3320
Acc4 West Major Harry 4000
Acc5 West Major Harry 900
Acc6 West Minor Jess 700
East Major
East Minor
West Major
West Minor ... etc
这是我将传递给每个数据分组版本的函数的一部分。
reAssign <- function(dta) {
other_acct <- dta %>%
group_by(Owner) %>%
mutate(NewOwner = replace(Owner, cumsum(AccValue) > 600000 | row_number() > 14, NA)) %>%
ungroup(Owner) %>%
mutate(Owner = NewOwner) %>%
select(-r, -NewOwner)
按照Region,League进行分组之后,它会传递函数并在函数内部由所有者对其进行分组。在下面的这个函数中,我需要传递一个不同的cumsum(AccValue) > 600000 | row_number() > 14
值。 600000 AccValue和帐户数量需要根据它所在的组进行更改。我还有另一个df详细说明了这一切......
RegionLeague MaxValue MaxCount
East Major 600000 14
East Minor 450000 10
West Major 800000 20
West Minor 220000 12
如何更改
mutate(NewOwner = replace(Owner, cumsum(AccValue) > 600000 | row_number() > 14, NA)) %>%
要
mutate(NewOwner = replace(Owner, cumsum(AccValue) > MaxValue | row_number() > MaxCount, NA)) %>%
并将正确的列表传递给每个MaxValue和MaxCount变量?