如何更改dplyr的片.preserve说法

时间:2019-02-03 01:50:42

标签: r dplyr tidy

根据dplyr函数here上的slice文档,它使用一个布尔参数.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)?

1 个答案:

答案 0 :(得分:0)

您的问题源于在线查看slice的文档,而不是检查已安装软件包的slice版本。

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

您的计算机上可能安装了以前的版本,但尚未安装选项.preserve,因此会出现错误。