Я пытаюсь научиться мурлыкать для симуляции данных, используя rnorm с разными средствами, sd и n в каждой итерации.Этот код генерирует мой фрейм данных:
parameter = crossing(n = c(60,80,100),
agegroup = c("a", "b","c"),
effectsize = c(0.2, 0.5, 0.8),
sd =2
) %>%
# create a simulation id number
group_by(agegroup) %>%
mutate(sim= row_number())%>%
ungroup() %>%
mutate(# change effect size so that one group has effect, others d=0
effectsize= if_else(agegroup == "a", effectsize, 0),
# calculate the mean for the distribution from effect size
mean =effectsize*sd)
Теперь я хочу перебрать различные симуляции и для каждой строки сгенерировать данные в соответствии со средним, sd и r, используя rnorm
# create a nested dataframe to iterate over each simulation and agegroup
nested_df = parameter %>%
group_by(sim, agegroup, effectsize)%>%
nest() %>% arrange(sim)
Thisтак выглядит мой фрейм данных:
Теперь я хочу создать нормально распределенные данные со средним, sd и n, указанным в столбце «data»
nested_df = nested_df %>%
mutate(data_points = pmap(data,rnorm))
Однако приведенный выше код выдает ошибку, из-за которой я не смог найти решение:
Error in mutate_impl(.data, dots) :
Evaluation error: unused arguments
Я прочитал главу «Итерации» в R для «Науки о данных» и несколько раз погуглил, ноЯ не могу понять, как совместить pmap и nest.Причина, по которой я хотел бы использовать эти функции, заключается в том, что было бы проще хранить параметры, смоделированные данные и выводить все в одном кадре данных.