簡體   English   中英

根據該行R中的名稱向特定行中的數據框添加變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM