表型数据清洗
1. 生成数据
library(data.table)
test = data.frame(ID = paste0("A",1:1000),y = rnorm(1000))
sampleid = data.frame(ID = paste0("A",sample(1:100,10)))2. 使用setkey
setDT(test) str(test) setkey(test,ID)
3. 根据sampleid进行索引
test[sampleid$ID]
报错:
> test[sampleid$ID] Error in `[.data.table`(test, sampleid$ID) : i has not evaluated to logical, integer or double
因为sampleid的ID是因子,转化为character即可。
> sampleid$ID = as.character(sampleid$ID) > test[sampleid$ID] ID y 1: A17 0.3824981 2: A85 -0.2304567 3: A9 -0.5068925 4: A4 0.7707640 5: A67 -0.1763860 6: A75 -0.6596452 7: A19 0.2936062 8: A26 1.5178032 9: A93 -0.4725069
















