r - 在 gather 函数中使用变量

标签 r database tidyr

我正在使用 R 将宽格式数据表转换为长格式。它有效,除了必须为新列使用变量:

library(readr)
library(tidyr)

files <- Sys.glob("sources/*.csv") #data is from http://api.worldbank.org/v2/en/indicator/NY.GDP.MKTP.CD?downloadformat=csv , the worldbank data for current GDP
data_wide <- read_csv(files, skip = 4)
ind <- as.character(data_wide[1,3])
data_wide <- data_wide[, !(colnames(data_wide) %in% c("X63", "Indicator Code", "Indicator Name"))]

data <- gather(data_wide, "year", value = ind, "1960":"2017")

所以 ind 是一个带有我的指标名称的变量。在最终的数据表数据中,值列称为 ind 而不是变量 ind 的值。我需要它变量,因为最终我想将此代码作为公式应用于源文件夹中的数据集列表(现在只有一个)。有人知道答案或解决方法吗?

最佳答案

很抱歉这个糟糕的问题,我希望现在它更容易理解了。此外,我使用“reshape2”包中的“melt”而不是 gather 解决了这个问题:

data <- melt(data_wide, id.vars = c("Country Name", "Country Code"), variable.name = "year", value.name=ind)

我仍然不知道为什么 gather 不能使用变量作为名称...

关于r - 在 gather 函数中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49178028/

相关文章:

r - 为什么 R 中的箭头赋值在转换函数调用中不起作用?

r - 包含逗号作为单个方面 : is it possible? 注释的表达式

android - 升级只读数据库

r - 在 R 中从文字字符串数字传递到数字

r - 解析每一行中的字符串并将结果扩展为整洁的数据框

r - Dplyr - 过滤是否有任何变量等于一个值

regex - R 中的 gsub 除外

sql - 需要帮助让我的 Oracle 数据库正常工作。使用 SQL 开发人员

mongodb - 在单个 MongoDB 服务器上丢失数据的默认风险

r - 如何在取消嵌套之前删除嵌套小标题中的重复列名