我想将列名称传递给setkey()
,除了一两个。我可以像下面这样轻松地做到:
setkey(df, column1, column2, column3, column6, ..., columnN, physical = TRUE)
(请注意,我们会跳过column4
和column5
。
但它要求我列出除某些特定列以外的所有列名。我可以使用colnames(df)
获取列列表,但我不确定如何(1)将其传递给setkey()
并且(2)从该列表中排除某些列?
答案 0 :(得分:7)
您可以尝试使用setkeyv
,它可以接受列名称的字符向量,然后使用简单的索引。
例如,忽略位置
的列setkeyv(df, names(df)[-(4:5)])
或按列名称向量(与setdiff
结合)忽略列
ignore <- c("column4", "column5")
setkeyv(df, setdiff(names(df), ignore))