我有以下数据表tb1
persid date rating
10000 1/1/2014 A
10000 1/2/2014 B
10001 1/1/2014 A
10001 1/2/2014 B
10002 1/1/2014 A
10002 1/2/2014 B
. . .
. . .
. . .
我使用命令<{p>>将persid
设置为键
setkey[tb1, persid]
但是当我运行命令时:
tb1['10000']
它给我一个错误信息:
Error in `[.data.table`(prhistory, "10000") : typeof x.persid (integer) != typeof i.persid (character)
但是如果我删除引号,即只是tb1[10000]
,那么它会给我第1000行的值。
那么如何使用此数据表中的整数键进行子集?
我正在使用包data.table
。
由于
答案 0 :(得分:4)
其中任何一个都可以使用
setkey(tb1,persid)
tb1[J(10000)]
# persid date rating
# 1: 10000 1/1/2014 A
# 2: 10000 1/2/2014 B
tb1[persid==10000]
# persid date rating
# 1: 10000 1/1/2014 A
# 2: 10000 1/2/2014 B