首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从R中的键值对(character = character)中提取密钥?

如何从R中的键值对(character = character)中提取密钥?
EN

Stack Overflow用户
提问于 2021-04-10 20:33:01
回答 2查看 45关注 0票数 1

我有这个变量

代码语言:javascript
运行
复制
variable_pairs <- c("var_name1" = "var_id1", "var_name2" = "var_id2")

我需要提取名字,去掉引号,这样我就可以得到类似于(var_name1, var_name2)的东西

在r中有这样的效果吗?我怀疑这在Python中更容易完成,但我必须在R中完成它,而且我是一个绝对的R初学者。

非常感谢您的帮助!

编辑:让我的目的更清晰一点。

我需要发送select = c(year, *indicator_vector_name*)部件中的名称。我首先不得不手动完成(select = c(year, *total_population, gdp*)),但这显然不是很好。然后'mmr‘对象转到ggplot函数。

代码语言:javascript
运行
复制
indicator_vector <- c('total_population'='SP.POP.TOTL', 'gdp' = 'NY.GDP.MKTP.CD', 'gdp_growth' ='NY.GDP.MKTP.KD.ZG', 'fertility_rate' ='SP.DYN.TFRT.IN', 'pop_growth'='SP.POP.GROW', 'pop_0_14'='SP.POP.0014.TO.ZS', 'pop_65plus'='SP.POP.65UP.TO.ZS', 'trade_ratio' ='NE.TRD.GNFS.ZS')

indicator_vector_name <- noquote(names(indicator_vector))


for (i in indicator_vector){
  indicator_data <- WDI(indicator = indicator_vector, country = c(country), start = start, end= end)
}

mmr <- melt(subset(indicator_data, select = c(year, indicator_vector_name)), id.vars = "year")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-10 20:59:17

您不需要更改不带引号的变量名。试试这个:

代码语言:javascript
运行
复制
indicator_vector_name <- names(indicator_vector)
mmr <- melt(indicator_data[c('year', indicator_vector_name)], id.vars = "year")
票数 1
EN

Stack Overflow用户

发布于 2021-04-11 00:18:51

我们可以使用pivot_longer

代码语言:javascript
运行
复制
library(dplyr)
library(tidyr)
indicator_data %>% 
  select(year, all_of(names(indicator_vector)) %>%
  pivot_longer(cols = -year)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67034387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档