[英]Add variable to dataframe in specific rows based on a name in that row R
我正在嘗試在此地圖數據框中添加與特定國家/地區相對應的特定變量。
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中找不到簡單的解決方案。
你可以做這樣的事情...
bounds$genes <- genes[match(gsub("\\:.*", "", bounds$names), countries)]
bounds$names
的格式為country:region
,因此gsub
刪除了:
之后的位,然后match
返回相應的索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.