我正在尝试添加与此地图数据框中特定国家/地区相对应的特定变量。
library(maps)
countries <- c("Australia", "South Africa", "India", "Mexico", "USA", "Russia")
genes <- c("gene1","gene2","gene3","gene4","gene5","gene6")
bounds <- map("world", countries, fill = TRUE, plot = FALSE)
bounds$genes <- genes
然而,这只是添加一列“基因”并将变量放在前六行中,而不是相应的国家。因此,如果我打电话给印度,它应该返回gene3。我在StackOverflow中找不到一个简单的解决方案。
答案 0 :(得分:1)
你可以这样做......
bounds$genes <- genes[match(gsub("\\:.*", "", bounds$names), countries)]
bounds$names
的格式为country:region
,因此gsub
会移除:
之后的位,然后match
会返回相应的索引。