首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中,duplicated()中的fromLast参数对integer64向量有效吗?

在R中,duplicated()中的fromLast参数对integer64向量有效吗?
EN

Stack Overflow用户
提问于 2018-02-06 23:22:30
回答 1查看 405关注 0票数 2

我正在尝试使用duplicated()函数中的fromLast参数来识别integer64向量中的重复项(我的行是按时间排序的,我希望丢弃较早的时间点,而保留最近的唯一值)。它似乎不起作用。

它适用于正则整数向量:

代码语言:javascript
复制
> x <- c(1, 2, 3, 3, 4)

> base::duplicated(x)
[1] FALSE FALSE FALSE  TRUE FALSE

> base::duplicated(x, fromLast = TRUE)
[1] FALSE FALSE  TRUE FALSE FALSE

这是正确的行为。

但它在integer64向量上不起作用:

代码语言:javascript
复制
> x <- as.integer64(c(1, 2, 3, 3, 4))

> base::duplicated(x)
[1] FALSE FALSE FALSE  TRUE FALSE

> base::duplicated(x, fromLast = TRUE)
[1] FALSE FALSE FALSE  TRUE FALSE

有什么想法吗?

duplicated.integer64()函数没有fromLast参数。

我可以做rev(duplicated(rev(x))),但是根据base R的文档,这比使用fromLast=TRUE慢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 23:27:17

问题出在调度的方法上。它正在调用duplicated.integer64。如果我们想要相同的行为,请使用duplicated.default

代码语言:javascript
复制
duplicated.default(x, fromLast = TRUE)
#[1] FALSE FALSE  TRUE FALSE FALSE

通过检查duplicated.integer64,它没有fromLast参数

代码语言:javascript
复制
> duplicated.integer64
function (x, incomparables = FALSE, nunique = NULL, method = NULL, 
...) 

其中,因为在duplicated.default中有fromLast的参数

代码语言:javascript
复制
> duplicated.default
 function (x, incomparables = FALSE, fromLast = FALSE, nmax = NA, 
  ...) 

数据

代码语言:javascript
复制
library(bit64)
x <- as.integer64(c(1, 2, 3, 3, 4))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48646365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档