У меня есть несколько фреймов данных с одинаковой структурой (разные итерации). Я хотел бы прочитать данные каждой итерации и реструктурировать с помощью dplyr. Затем скомпилируйте реструктурированный вывод в один фрейм данных. Я думаю, что лучший способ сделать это - зацикливание, но у меня не получилось создать его.
У меня есть 5 наборов данных, как показано ниже.
> df.0
v1 v2 v3 v4 v5 v6 v7
1 0 -3.82029420 31.81448 301.4946 180 42 21
2 1 -3.57029420 31.81448 301.4946 188 35 21
3 2 -3.32029420 31.81448 301.4946 196 30 21
4 3 -3.07029420 31.81448 301.4946 204 25 21
df.1
v1 v2 v3 v4 v5 v6 v7
1 0 -3.826521174 31.81448 301.4946 180 43 21
2 1 -3.576521174 31.81448 301.4946 188 36 21
3 2 -3.326521174 31.81448 301.4946 196 30 21
4 3 -3.076521174 31.81448 301.4946 204 25 21
Я хотел бы прочитать каждый и выполнить эту реструктуризацию.
rs.0 = df.0 %>%
group_by(v7) %>%
slice(1) %>%
ungroup() %>%
filter(!v7 == 21) %>%
mutate(Level = ifelse(v7 == 22, "II",
ifelse(v7 == 23, "III",
ifelse(v7 == 24, "IV", NA))),
iteration = 0) %>%
dplyr::select(iteration, v1, v7) %>%
spread(key = "Level", value = "v1")
Затем связать вывод в один кадр данных со строкой для каждой итерации, которая выглядит следующим образом:
A tibble: 2 x 4
iteration II III IV
* <dbl> <int> <int> <int>
1 0 19 29 40
2 1 19 28 39