我正在尝试使用以下数据创建面板数据集:
我的数据如下
country GDP_2012 GDP_2013 GDP_2014 Exports_2012 Exports_2013 Exports_2014
A 50 150 160 5 10 0
B 10 20 30 0 0 0
C 20 25 30 10 5 1
我希望将其转换为:
country year GDP Exports
A 2012 50 5
A 2013 150 10
A 2014 60 0
B 2012 10 0
B 2013 20 0
B 2014 30 0
C 2012 20 10
C 2013 25 5
C 2014 30 1
我一直在使用splitstackshape将其转换为面板
dt <- splitstackshape::merged.stack(dt,
id.vars = "Country",
var.stubs = c("GDP", "Exports"),
sep = "_",
keep.all = TRUE)
我的数据集已更改为数据框,并且所有列均以字符表示,但是,我不断收到错误消息
Error in if (ncol(x) == 1L) { : argument is of length zero
我无法纠正这个问题,因为数据集中有0,这是否有可能发生? 我尝试过is.null,它会返回FALSE。所以我不确定接下来的步骤