Это потому, что при использовании каналов (%>%
) первый аргумент по умолчанию передается из LHS.
Когда вы делаете
df_nested %>% map(data, nrow)
вы получите
#$Species
#[1] ".x[[i]]" "nrow"
#$data
#[1] ".x[[i]]" "nrow"
#Warning messages:
#1: In .f(.x[[i]], ...) : data set ‘.x[[i]]’ not found
#2: In .f(.x[[i]], ...) : data set ‘nrow’ not found
#3: In .f(.x[[i]], ...) : data set ‘.x[[i]]’ not found
#4: In .f(.x[[i]], ...) : data set ‘nrow’ not found
, что совпадает с
map(df_nested, data, nrow)
Если вы хотите использовать трубы, вам может понадобиться
df_nested$data %>% map(nrow)
#[[1]]
#[1] 50
#[[2]]
#[1] 50
#[[3]]
#[1] 50