[英]R Data table setkey - error some columns are not in the data.table
我想使用帶有預定義列表id
和categories
data.table setkey
,但是會收到一條錯誤消息:
> setkey(tr_id_cat_dt, id, categories)
Error in setkeyv(x, cols, verbose = verbose) :
some columns are not in the data.table: categories
我希望id
和categories
所有元素都顯示為鍵。
這可能嗎?
id和categorie是值列表,例如:
categories = c(9115L, 9909L, 3203L, 5558L, 4401L, 1703L, 1726L, 3504L, 3509L,
5122L, 5616L, 5619L, 2202L, 2119L, 6202L, 5824L, 799L, 4517L,
7205L, 706L)
dput(head(tr_id_cat_dt))
structure(list(id = c(86246, 86246, 86246, 86246, 86246, 86246
), category = c(706L, 706L, 706L, 706L, 706L, 706L)), .Names = c("id",
"category"), sorted = c("id", "category"), class = c("data.table",
"data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer: 0x015424a0>)
您只能在setkey
的列上設置data.table
(正如@Roland已經指出的那樣)。
require(data.table)
DT = data.table(x = 1:2, y=3:4)
z = 5:6
setkey(DT, x) # works
setkey(DT, z) # doesn't
# Error in setkeyv(x, cols, verbose = verbose, physical = physical) :
# some columns are not in the data.table: z
setkey(DT[, z := z], z) # works
HTH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.