我是tidymodels
的新手,对R也相对较新。
我使用tidymodels
创建了一个配方,它在训练数据上运行良好,但在交叉验证重采样上出现错误。
所以我想查看这些重采样数据,但它们不是简单的df格式。
train_5fold############ result ###########splits id<list> <chr><S3: vfold_split> Fold1 <S3: vfold_split> Fold2 <S3: vfold_split> Fold3 <S3: vfold_split> Fold4 <S3: vfold_split> Fold5
下载数据
https://github.com/johnsnow09/covid19-df_stack-code/blob/main/train_5fold.RDS
train_5fold <- readRDS("train_5fold.RDS")
我该如何查看它们?
我尝试过pluck(), unnest_wider, unlist等方法,但无法得到真正的数据框。
我还在SO上发布了另一个关于tidymodels的帖子,至今未得到回答,所以我试图通过交叉检查CV数据来调试问题
在尝试将tidymodels配方从训练数据应用到重采样数据时出现错误?
回答:
您可以使用lapply
从每个splits
中获取数据,如下所示 –
df <- readRDS('train_5fold.RDS')list_df <- lapply(df$splits, `[[`, 'data')
如果您想将它们合并到一个数据框中,请使用res <- do.call(rbind, list_df)
或者使用purrr
–
library(purrr)res <- map_df(df$splits, pluck, 'data')