在data.table中的数字列上进行子集

时间:2014-10-22 16:44:58

标签: r data.table

我的RStudio版本是版本0.98.932,R是3.1.1,我的数据表版本是1.9.4。

以下是一段代码示例:

library(data.table)

TEMP <- data.table(SHOPPER_ID = c(953103325440, 953103325441))
TEMP[SHOPPER_ID == 953103325440]

我希望在控制台中返回一行:

##      SHOPPER_ID
## 1: 953103325440

然而R实际返回的是:

##      SHOPPER_ID
## 1: 953103325440
## 2: 953103325441

我不确定为什么会发生这种情况,我想知道这只是一个错误,或者它是否是一个可能的错误。当我将SHOPPER_ID列转换为字符变量时,我得到了我期望得到的内容。

我的一位同事有一个旧版本的data.table(&lt; 1.9我认为),他没有遇到同样类型的错误。如果我运行以下代码:

unique(TEMP)

我得到了理想的结果

##      SHOPPER_ID
## 1: 953103325440

1 个答案:

答案 0 :(得分:0)

你可以这样做:

TEMP[TEMP$SHOPPER_ID == 953103325440, ]

同样,可以在列unique(TEMP$SHOPPER_ID)

上运行唯一