在以下.RData文件中:
https://www.dropbox.com/s/ct6ttye8mmci22v/Test_Data_Colours.RData?dl=0
我希望将数据帧b
转换为结构化的字典列表(my_colour[["CellType"]]
中显示了其示例)。
我尝试过:
xy.list <- setNames(split(b, seq(nrow(b))), rownames(b))
但是它不能给出理想的结果,我不确定该怎么做。是否有简单和/或简短的方法来实现转换?
答案 0 :(得分:1)
你可以做
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"