问题描述
我是 R 的初学者,对于一门学术课程,我需要将数据框重塑为长格式(面板数据)。我的数据框由 65 列组成,其中 61 列是从 1960 年到 2020 年的年份,而其他列与国家/地区相关(每个条目 1 个国家/地区)。
gdp <- reshape(GDP,varying= 1960:2020,v.names = "GDPpercapita",timevar = "Year",times = 1960:2020,direction = "long")
但是,我收到以下错误:
Error in `[.data.frame`(data,varying.i) : undefined columns selected
我试图通过文档和在一些论坛中查找错误的来源,但仍然找不到问题。
谁能向我解释我做错了什么?
编辑:
我发现如果我改用 c("1960","2020")
,它适用于这两列。
是否存在一种简单、常规且有效的方法来使用从 1960 年到 2020 年的所有值,而无需单独编写 65 列?
解决方法
使用 c("1960","2020")
代替 as.character(1960:2020)
。