我有这个变量
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函数。
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")发布于 2021-04-10 20:59:17
您不需要更改不带引号的变量名。试试这个:
indicator_vector_name <- names(indicator_vector)
mmr <- melt(indicator_data[c('year', indicator_vector_name)], id.vars = "year")发布于 2021-04-11 00:18:51
我们可以使用pivot_longer
library(dplyr)
library(tidyr)
indicator_data %>%
select(year, all_of(names(indicator_vector)) %>%
pivot_longer(cols = -year)https://stackoverflow.com/questions/67034387
复制相似问题