我确信我的问题有答案,但我似乎找不到一个有效的答案,而且我对 R 完全陌生,因此为冗余道歉!
所以我有一个庞大的数据集——17K obs 和 35 个变量。这是一个 txt 文件,我用 as.matrix 导入并强制转换。第一列具有字符值,其余 34 列具有数值。
结构 -
>str(data_m)
chr [1:17933, 1:35] "RAB12" "TRIM52" "C1orf86" "PLAC9" "MORN3" "LOC643783" "LOC389541" "OAZ2" ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:35] "Name" "X118" "X12" "X21" ...
现在有另一个带有 2 列的小型长格式数据集 - id 和性别。
> str(data_maleids)
'data.frame': 24 obs. of 2 variables:
$ id : Factor w/ 34 levels "X118","X12","X21",..: 8 23 9 19 10 7 5 4 2 30 ...
$ gender: Factor w/ 2 levels "female","male": 2 2 2 2 2 2 2 2 2 2 ...`
例如。-
row.names id gender
1 1 X37 male
2 2 X64 male
我要做的只是为第二个数据集中存在的那些 id(X37、X64 等)子集第一个数据集。
我尝试转置更大的数据集,但这给我带来了列名方面的问题,我似乎无法解决这个问题。