У меня есть объект ffdf (23Mx4) и вектор символов со значениями «ОПУХОЛЬ» или «НОРМАЛЬНЫЙ», и каждое значение имеет имя, уникальный icgc_specimen_id, поэтому таким образом я указываю, является ли определенный образец нормальной клеткой или опухолевой клеткой.
> head(expresion,4)
ffdf (all open) dim=c(23939146,4), dimorder=c(1,2) row.names=NULL
ffdf virtual mapping
PhysicalName VirtualVmode PhysicalVmode AsIs VirtualIsMatrix PhysicalIsMatrix PhysicalElementNo
icgc_donor_id icgc_donor_id integer integer FALSE FALSE FALSE 1
icgc_specimen_id icgc_specimen_id integer integer FALSE FALSE FALSE 2
gene_id gene_id integer integer FALSE FALSE FALSE 3
normalized_read_count normalized_read_count double double FALSE FALSE FALSE 4
PhysicalFirstCol PhysicalLastCol PhysicalIsOpen
icgc_donor_id 1 1 TRUE
icgc_specimen_id 1 1 TRUE
gene_id 1 1 TRUE
normalized_read_count 1 1 TRUE
ffdf data
icgc_donor_id icgc_specimen_id gene_id normalized_read_count
1 DO3868 SP8217 SERINC1 9.276133e-05
2 DO3868 SP8217 SERINC2 1.925742e-04
3 DO3868 SP8217 SERINC3 2.531452e-05
4 DO3868 SP8217 SERINC4 4.811070e-07
5 DO3868 SP8217 SERINC5 4.402422e-07
6 DO3868 SP8217 SERP1 7.620133e-05
7 DO3868 SP8217 SNX13 1.088022e-05
8 DO3868 SP8217 SNX10 5.652351e-06
: : : : :
23939139 DO2341 SP5052 FCRLB 8.290500e-07
23939140 DO2341 SP5052 FDFT1 7.108729e-05
23939141 DO2341 SP5052 FDPSL2A 7.999602e-08
23939142 DO2341 SP5052 GRIPAP1 6.532955e-05
23939143 DO2341 SP5052 GRINL1A 1.156511e-05
23939144 DO2341 SP5052 GRIP1 2.465546e-06
23939145 DO2341 SP5052 GRIP2 1.486814e-06
23939146 DO2341 SP5052 GRK1 1.678295e-08
> head(specimen_type)
SP3358 SP6685 SP12716 SP8109 SP12780 SP8097
"TUMOR" "TUMOR" "TUMOR" "TUMOR" "TUMOR" "TUMOR"
Я хочу добавить в ffdf столбец с именем sp_type, чтобы знать в каждой строке, работаю ли я над опухолевой или нормальной ячейкой.
В обычном фрейме данных я бы сделал:
expresion$sp_type <- specimen_type[expresion$icgc_specimen_id]
Я не могу найти способ сделать то же самое в объекте ffdf.