我有一个数据表,我想复制或子集到变量中所有唯一的观察值,变量名包含某个子串.我可以想出一种方法来笨拙地使用for循环,但这似乎 destruct 了数据表的实用性和速度.
例如:
library(data.table)
library(dplyr)
dt <- setDT(tibble(a_ID = c(1, 1, 2, 11, 2),
b = c('x','y','z','z', 'x'),
b_ID = c('XY','XY','XY','XY', 'XY'),
d = 1:5))
我想从这里做的是由名称包含"ID"的所有列组成的子集,只返回每个列的唯一条目,因为这将导致每个列的观察量不同,所以用NA
填充其余的列.
也就是说,我想返回以下内容:
subset_dt <- setDT(tibble(a_ID = c(1,2,11),
b_ID = c('XY', NA,NA)))
这是否可能与数据有关.桌子功能?