使用r从exsting数据帧创建新数据帧

时间:2017-07-11 17:37:57

标签: r list dataframe filter

我有11个数据帧的流量计数。 对于每个数据帧,我想过滤相关信息(dplyr)。 但我想在新的数据框架中执行这些操作,并为每年的每个数据框架添加一个新名称。我不想更改原始数据框架。 例如 traffic_2016 filter_traffic_2016 以及每个数据框。

library(foreach)
library(iterators)

foreach(x=iter(m)) %do% {
assign(x, filter(get(x), kvish %in% 1 , keta %in% 10 ,maslul %in% 1 ) ) 
}

除了年份之外,数据框看起来相同

> traffic_2016
  kvish keta maslul yom nefah status                date
1         1   10      1   1  1710     NA 2016-09-11 00:00:00
2         1   10      1   1   934     NA 2016-09-11 01:00:00
3         1   10      1   1   800     NA 2016-09-11 02:00:00
4         1   10      1   1   637     NA 2016-09-11 03:00:00
5         1   10      1   1   588     NA 2016-09-11 04:00:00
6         1   10      1   1   951     NA 2016-09-11 05:00:00
7         1   10      1   1  2312     NA 2016-09-11 06:00:00
8         1   10      1   1  3769     NA 2016-09-11 07:00:00
9         1   10      1   1  3348     NA 2016-09-11 08:00:00

1 个答案:

答案 0 :(得分:0)

如果你有相同" kind"的对象,它们应该被组织以反映它,你应该将你的data.frames放在一个列表中,然后你可以使用lappy。例如:

traffic <- list(traffic_2014,traffic_2015,traffic_2016) # put your 11 dfs here
traffic_filtered <- traffic %>% lapply(. %>% filter(kvish %in% 1 , keta %in% 10 ,maslul %in% 1)) # get a new list with filtered data.frames