Я довольно новичок в работе с R, и это мой первый пост о переполнении стека.У меня есть проблема, которую я не могу решить даже после просмотра различных функций (например, слияния) и пакетов, доступных в R (dpylr, data.table).Я смотрю на объединение двух фреймов данных:
amino_acid_color
> dput(amino_acid_color)
structure(list(amino_acids = c("A", "R", "N", "D", "C", "Q",
"E", "G", "H", "I", "L", "K", "M", "F", "P", "S", "T", "W", "Y",
"V"), color_of_aa = c("#E6194B", "#3CB44B", "#FFE119", "#4363D8",
"#F58231", "#911EB4", "#42D4F4", "#F032E6", "#BFEF45", "#FABEBE",
"#469990", "#E6BEFF", "#9A6324", "#FFFAC8", "#800000", "#AAFFC3",
"#808000", "#FFD8B1", "#000075", "#A9A9A9")), row.names = c(NA,
-20L), class = "data.frame")
df
> dput(df)
structure(list(date = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("13-Feb-2008",
"13-May-2008", "29-Sep-2008", "02-Oct-2008", "11-Nov-2008", "13-Jan-2009",
"11-Jun-2009", "05-Nov-2009", "15-Apr-2010", "16-Apr-2010", "03-Aug-2010",
"02-Sep-2010"), class = "factor"), aa_position = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = "2986", class = "factor"), amino_acids = c("H ",
"H ", "R ", "R ", "Y ", "Y "), proportionality = c(99.8162729658793,
0, 0.0393700787401575, 0, 0.026246719160105, 0)), row.names = c(1L,
2L, 13L, 14L, 25L, 26L), class = "data.frame")
Код, который я пробовал:
> new_df <- merge(amino_acid_color,df,by="amino_acids",all.y = TRUE)
В настоящее время создается следующий фрейм данных:
amino_acids color_of_aa date aa_position proportionality
1 H <NA> 13-Feb-2008 2986 99.81627297
2 H <NA> 13-May-2008 2986 0.00000000
3 R <NA> 13-Feb-2008 2986 0.03937008
4 R <NA> 13-May-2008 2986 0.00000000
5 Y <NA> 13-Feb-2008 2986 0.02624672
6 Y <NA> 13-May-2008 2986 0.00000000
Однако я смотрю на получение шестнадцатеричных чисел в столбце с именем 'color_of_aa' из кадра данных 'amin_acid_color', поэтому # BFEF45, # 3CB44B, # 000075.
Любая помощь будет принята с благодарностью.