Вы можете сделать
setNames(b$Colour, b$CellType)
#> Macrophages DC Microglia B cells, pro
#> "#E9C825" "#E77800" "#E3B60B" "#EE3900"
#> NA Neutrophils Monocytes Mast cells
#> "#54A6BA" "#E39700" "#7EB8BC" "#6EB2C2"
#> Endothelial cells Basophils B cells Stem cells
#> "#E7C21C" "#E1B002" "#3B9AB2" "#AEC07B"
#> T cells NKT ILC Tgd
#> "#E5BC13" "#61ACBE" "#96BC9C" "#C6C55A"
#> NK cells Epithelial cells Fibroblasts Stromal cells
#> "#EA5800" "#47A0B6" "#F21A00" "#DEC93A"
В R это называется именованным символом-вектором , а не списком словаря.
class(my_colour[["CellType"]])
#> [1] "character"
attributes(my_colour[["CellType"]])
#> $names
#> [1] "Macrophages" "DC" "Microglia" "B cells, pro"
#> [5] "NA" "Neutrophils" "Monocytes" "Mast cells"
#> [9] "Endothelial cells" "Basophils" "B cells" "Stem cells"
#> [13] "T cells" "NKT" "ILC" "Tgd"
#> [17] "NK cells" "Epithelial cells" "Fibroblasts" "Stromal cells"