Purrr 映射将分析输出添加到 df
Purr map to add analysis output to df
我最近问过一个非常相似的问题
这里 -
但我现在需要更简单的输出,并且我正在努力调整之前建议的(非常有用的)代码。
所以,
我已经观察到数据,我现在按照上面的方式随机化-
set.seed(42)
ID <- sample(1:30, 100, rep=T)
Trait <- sample(0:1, 100, rep=T)
Year <- sample(1992:1999, 100, rep=T)
df <- cbind(ID, Trait, Year)
df <- as.data.frame(df)
我想按年份分组,并提取总体均值 n
特征,以及组间 95% CIs。
也许是这样的
df <- df %>%
group_by(Year) %>%
dplyr::summarise(
n_Trait = sum(Trait == 1),
n_total = length(Trait)) %>%
ungroup()
我现在想重复上述 x
次,并从这些输出迭代中提取平均值 n_Trait
和 95%CI。
非常喜欢这个,但我不想 运行 完整的 ls 模型 https://www.tidymodels.org/learn/statistics/bootstrap/
我希望这是有道理的?
您可以将 data.frame df
的构造放在一个函数中,然后使用 replicate
:
my_fun <- function() {
ID <- sample(1:30, 100, rep=T)
Trait <- sample(0:1, 100, rep=T)
Year <- sample(1992:1999, 100, rep=T)
res <- tibble(Trait = Trait, Year = Year) %>%
group_by(Year) %>%
dplyr::summarise(
n_Trait = sum(Trait == 1),
n_total = length(Trait)) %>%
ungroup()
return(res)
}
bind_rows(replicate(10, my_fun(), simplify = FALSE))
这样您就可以将实验重复十次,之后可以做进一步的分析。
我最近问过一个非常相似的问题
这里 -
但我现在需要更简单的输出,并且我正在努力调整之前建议的(非常有用的)代码。
所以,
我已经观察到数据,我现在按照上面的方式随机化-
set.seed(42)
ID <- sample(1:30, 100, rep=T)
Trait <- sample(0:1, 100, rep=T)
Year <- sample(1992:1999, 100, rep=T)
df <- cbind(ID, Trait, Year)
df <- as.data.frame(df)
我想按年份分组,并提取总体均值 n
特征,以及组间 95% CIs。
也许是这样的
df <- df %>%
group_by(Year) %>%
dplyr::summarise(
n_Trait = sum(Trait == 1),
n_total = length(Trait)) %>%
ungroup()
我现在想重复上述 x
次,并从这些输出迭代中提取平均值 n_Trait
和 95%CI。
非常喜欢这个,但我不想 运行 完整的 ls 模型 https://www.tidymodels.org/learn/statistics/bootstrap/
我希望这是有道理的?
您可以将 data.frame df
的构造放在一个函数中,然后使用 replicate
:
my_fun <- function() {
ID <- sample(1:30, 100, rep=T)
Trait <- sample(0:1, 100, rep=T)
Year <- sample(1992:1999, 100, rep=T)
res <- tibble(Trait = Trait, Year = Year) %>%
group_by(Year) %>%
dplyr::summarise(
n_Trait = sum(Trait == 1),
n_total = length(Trait)) %>%
ungroup()
return(res)
}
bind_rows(replicate(10, my_fun(), simplify = FALSE))
这样您就可以将实验重复十次,之后可以做进一步的分析。