У меня есть два кадра данных с неодинаковым количеством столбцов.Я хотел бы вычесть значения интенсивности по столбцам (то есть по выборкам) строк df2 из df1.Мои условия:
- В df1 есть несколько строк для пептидной последовательности (pep_seq) и соответствующих им интенсивностей на образец (int_sam) для каждого гена (gene_nm).Один и тот же ген появляется несколько раз, то есть занимает несколько рядов.
- В df2 гены (строки) появляются только один раз с соответствующими значениями интенсивности
- Следовательно, df1 намного длиннее, чем df2 (например,, 55000 строк против 6000 строк)
- Количество столбцов интенсивности (int_samp) может быть много.У меня есть 3 в этом примере
Рамка данных 1
pep_seq = c("aaaaaaaaa", "ababababba", "dfsfsfsfds", "xbbcbcncncc", "fbbdsgffhhh", "dggdgdgegeggerr",
"dfgthrgfgf", "wegregegg", "egegegergewge", "sfngegebser", "qegqeefbew", "qegqetegqt",
"qwtqtewr", "etghsfrgf", "sfsdfbdfbergeagaegr", "wasfqertsdfaefwe")
int_samp_1 = c("2421432", "24242424", "NA", "4684757849", "NA", "10485040", "NA",
"6849400", "40300", "NA", "NA", "NA", "556456466", "4646456466", "246464266", "4564242646")
int_samp_2 = c("NA", "5342353", "14532556", "43566", "46367367", "768769769", "797899", "NA", "NA", "NA",
"686899", "7898979", "678568", "NA", "68886", "488")
int_samp_3 = c("11351", "NA", "NA", "NA", "1354151345", "1351351354", "314534", "1535", "3145354", "4353455",
"324535", "3543445", "34535", "34535534", "NA", "NA")
gene_nm = c("A", "A", "A", "A", "A", "A", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C")
df_1 = cbind.data.frame(pep_seq, int_samp_1, int_samp_2, int_samp_3, gene_nm)
Рамка данных 2
int_samp_1a = c("2421432", "24242424", "NA")
int_samp_2a = c("NA", "5342353", "14532556")
int_samp_3a = c("11351", "NA", "NA")
gene_nm.a = c("A", "B", "C")
df_2 = cbind.data.frame(gene_nm.a, int_samp_1a, int_samp_2a, int_samp_3a)
Пожалуйстапредложить.