【发布时间】:2023-02-07 02:44:36
【问题描述】:
我正在尝试创建多个样本,在每个样本上拟合一个模型,然后打印结果。
dat <- data.frame(
x=rnorm(20, mean=5, sd=1),
y=rnorm(20, mean=6, sd=1),
weight = rnorm(20, mean=1, sd=0.2)
)
f <- function(data, var.x, var.y, n) {
# select sample
data_subset <- data %>% sample_n(n, weight = weight, replace = T) %>% select(all_of(var.x), all_of(var.y)) %>% drop_na()
# fit model
model <- lm(unlist(data_subset %>% select(y)) ~ unlist(data_subset %>% select(x)))
print(model)
}
f(data=dat, var.x="x", var.y="y", n=20)
有没有办法将数据集保存在地图函数中并拟合模型?这是一个尝试:
f <- function(data, var.x, var.y, n) {
map(seq_len(20),
# select sample
data_subset <- data %>% sample_n(n, weight = weight, replace = T) %>% select(all_of(var.x), all_of(var.y)) %>% drop_na()
# fit model
model <- lm(unlist(data_subset %>% select(y)) ~ unlist(data_subset %>% select(x)))
print(model)
)
}
【问题讨论】: