r - 是否有 for 循环或 purrr 解决方案?
问题描述
我正在尝试为一个项目做一些功率计算。代码有效,但我的 for 循环无效。我有两个问题
a) 有人能告诉我哪里出错了吗 b) 有没有 purrr 选项
install.packages("WebPower")
library(WebPower)
rate <- function(cases,weeks,population){cases/weeks/population}
rate <- rate(cases = 243,weeks = 15,population = 153126)
wp.poisson(exp0 = rate*2,exp1 = 0.5,alpha = 0.05,power = 0.8,alternative ='less',family = 'Poisson')
res_0.5 <- wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = 0.5,alpha =
0.05,alternative ='less',family = 'Poisson')
res_0.4 <- wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = 0.4,alpha =
0.05,alternative ='less',family = 'Poisson')
res_0.3 <- wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = 0.3,alpha =
0.05,alternative ='less',family = 'Poisson')
res_0.2 <- wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = 0.2,alpha =
0.05,alternative ='less',family = 'Poisson')}
for(i in seq(0.2,0.5,0.1)){
paste0('res_',i) <- wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = i,alpha =
0.05,alternative ='less',family = 'Poisson')}
解决方案
如果我们需要一个循环,循环遍历这些exp1
值。最好将输出存储在一个list
虽然而不是在全局环境中创建多个对象。
v1 <- c(0.5, 0.4, 0.3, 0.2)
out <- lapply(v1, function(ex)
wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = ex,
alpha = 0.05,alternative ='less',family = 'Poisson'))
names(out) <- paste0('res_', v1)
list2env(out, .GlobalEnv)
或map
从purrr
library(purrr)
out <- map(v1, ~ .x
wp.poisson(n = seq(80000, 200000, 10000), exp0 = rate*2,exp1 = .x,
alpha = 0.05,alternative ='less',family = 'Poisson'))
然后list
在执行之前更改名称list2env
在for
循环中我们需要assign
for(i in seq(0.2,0.5,0.1)){
assign(paste0('res_',i), wp.poisson(n = seq(80000, 200000, 10000),
exp0 = rate*2,exp1 = i,alpha =
0.05,alternative ='less',family = 'Poisson'))
}
推荐阅读
- javascript - Trying to get two circles to transition simultaneously
- jenkins - RTC:Jenkins 将组件签出为其子目录而不是整个目录
- python - PyCharm 不建议自动完成并标记未解决的引用
- python-3.x - 将石灰表格解释器与 Keras 一起使用时出现关键错误
- python - 添加两个数据框,但只有少数选定的列,并且仅当其他列值相同时
- flutter - 如何在颤动中安排边框布局?
- reactjs - 使用 window.require 开玩笑测试 Electron/React 组件
- reactjs - react-apollo 发生突变错误后,如何“重置”一个 React 组件?
- reactjs - 调用 useState 时出现 React Hooks 问题
- android - Unity adMobs Android不显示bannerView