如何将代码应用于列表中的所有数据框?

时间:2019-02-25 09:48:00

标签: r list apply

我在一个位置有这样的数据

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看起来都与上面的位置相同),如何将上面的代码应用于列表中的每个数据框?

0 个答案:

没有答案