簡體   English   中英

如何使用 lapply 進行引導? R 中 boot() 的引導錯誤

[英]How to bootstrap with lapply? bootstrap error with boot() in R

我在嘗試執行下面的代碼時收到錯誤"Error in statistic(data, original, ...) : unused argument (original)" 具體來說,我正在嘗試應用一個函數並為每個 plot# 引導這些結果。 我在這里錯過了一些簡單的東西嗎?

    library(codyn) # has sample dataset called pplots
    library(boot)

    str(pplots)

    stability <- function(x){
  mean(multivariate_change(x,
                           species.var = "species",
                           time.var = "year",
                           abundance.var = "relative_cover",
                           replicate.var = "plot")$composition_change)
}

boot_obj <- lapply(splitspplots,boot,statistic = stability,R = 20)
boot_obj <- lapply(splitspplots,myBootFun)

myBootFun <- function(x,i) {
  lapply(x[i],boot, statistic=stability, R = 10)
}
myBootFun <- function(x,i) {
  boot(x[i], statistic=stability, R = 10)
}
splitspplots <- split(pplots,pplots$plot)
lapply(splitspplots, print(myBootFun))

我想了一個不同的方法來做到這一點,也行得通。

我使用 for 循環在不同的組/站點之間循環,但我沒有在這里展示。 這是引導程序代碼。

data_sampled <- data_grouped %>%
    group_by(SITE_ID) %>%
    crossing(id = seq(100)) %>% # create replicate dataframes
    sample_n(size = n(), replace = T) # sample dataframes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM