我在一个位置有这样的数据
Chemical date concentration limit
A 01-01-2016 0.2 0.01
A 01-02-2016 0.2 0.01
A 01-01-2017 0.005 0.01
A 01-02-2017 0.2 0.01
B 01-01-2016 0.3 0.1
B 01-02-2016 0.05 0.1
B 01-01-2017 0.2 0.1
B 01-02-2017 0.2 0.1
C 01-01-2016 1.2 1
C 01-02-2016 0.8 1
C 01-01-2017 0.9 1
C 01-02-2017 0.9 1
对于那个地点,我计算了每种化学物质每年超过限值的次数(注意每个限值都不一样),所以我得到了这个信息:
Year A B C
2016 2 1 1
2017 1 2 0
我仅将其用于一个数据帧。
dat %>%
mutate(date = lubridate::dmy(format(date, format="%d-%m-%Y"))) %>% # correct date format
mutate(year = lubridate::year(date)) %>% # extract the year
group_by(year, Chemical) %>%
mutate(exceed = concentration > limit) %>% # TRUE/FALSE
summarise(tot_exceed = sum(exceed)) %>% # count each T/F
spread(Chemical, tot_exceed) # Spread the results by Chemical
现在,如果我将不同的位置放在列表中(每个位置的DF看起来都与上面的位置相同),如何将上面的代码应用于列表中的每个数据框?