r - 如何从 R 中的键值对(字符 = 字符)中提取键?
问题描述
我有这个变量
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")
解决方案
我们可以用pivot_longer
library(dplyr)
library(tidyr)
indicator_data %>%
select(year, all_of(names(indicator_vector)) %>%
pivot_longer(cols = -year)
推荐阅读
- java - 在 Java 中,如何根据其他对象的值更改使对象更新其值?
- c - 2D OpenGL 渲染,FBO 完全黑色/无法正确渲染
- python - Numpy 无法将输入数组从形状 (2,4) 广播到形状 (2,3)
- python - 查找字符串中的特定数字并赋值
- java - 如果在 Android 对话框中选择了相同的选项,如何什么都不做?
- java - Selenium:准备就绪时等待和获取元素
- android - 尽管 ArrayList 引用没有丢失,但 notifyDataSetChanged 没有更新 RecyclerView
- python - 使用 Lambda 函数而不是函数重命名 Pandas 中的列
- flutter - `onGenerateRoute`和`routes`之间的深度区别?
- r - 来自向量列表的数据框