Скажем, у нас есть вложенный фрейм данных, как показано ниже:
library(tidyverse)
df <- iris %>%
group_by(Species) %>%
nest()
df
# A tibble: 3 x 2
Species data
<fct> <list>
1 setosa <tibble [50 × 4]>
2 versicolor <tibble [50 × 4]>
3 virginica <tibble [50 × 4]>
Если я хочу заменить первый элемент colnames
каждого кадра данных на new_name
, я попытался:
df_new <- iris %>%
group_by(Species) %>%
nest() %>%
map(data, ~assign(colnames(.x)[[1]], "new_name"))
Error: Can't convert a `data.frame` object to function
Call `rlang::last_error()` to see a backtrace
Почему код не работает должным образом? Как правильно достичь этого (я предпочитаю использовать методы pipe
и map
вместо метода for
loop)?
Заранее спасибо.