如何更改 dplyr 切片中的 .preserve 参数

How to change .preserve argument in dplyr's slice

根据 dplyr 关于 slice 函数 here 的文档,它需要一个布尔参数 .preserve,我的意思是当 TRUE 时,将保留原始索引子集行时。然而代码

library(dplyr)
library(ISLR)
set.seed(1)
train <- sample(nrow(OJ), 800)

OJ.train <- OJ %>%
        dplyr::select(-c(WeekofPurchase, StoreID, STORE)) %>%
        slice(train, .preserve=TRUE)

head(OJ.train)

产生以下错误

Error in slice_impl(.data, dots) : slice only accepts one expression
Calls: %>% ... <Anonymous> -> slice -> slice.data.frame -> slice_impl
Execution halted

就像使用 preserve=TRUE 和简单地 TRUE 作为最后一个参数一样。我在这里错过了什么吗?如何更改此参数的默认值 (FALSE)?

您的问题源于在线查看 slice 的文档,而不是查看安装包的 slice.

版本

选项 .preserve 仅在 dplyr 的 0.8.0 版本中引入:https://github.com/tidyverse/dplyr/blob/96b0395a74adf4f405e9293334bafc968653cc96/NEWS.md。您提到的文档(在线)适用于此版本。

您的计算机上可能安装了以前的版本,该版本还没有 .preserve 选项,因此出现错误。