0
devtools::install_github("rstudio/EDAWR")
library(EDAWR)
gather(population,key="year",value="population",`1995`:`2013`)
Error: Can't subset columns that don't exist.
x Column `1995` doesn't exist.
Run `rlang::last_error()` to see where the error occurred.

gather(EDAWR::population,key="year",value="population",`1995`:`2013`)

我写信问为什么第一个代码不正确,而第二个代码是正确的?顺便说一句,符号EDAWR::population是否与 相同population

4

1 回答 1

1

对我来说,这两个代码的工作方式都是一样的。我猜您收到错误的原因是因为您population在全球环境中调用了一个数据框,其中列 1995 不存在。

例如,如果我创建一个名为的临时数据框,population我可以重现相同的错误。

population <- data.frame(a = 1:5)
gather(population,key="year",value="population",`1995`:`2013`)

错误:不能对不存在的列进行子集化。x 列1995不存在。

这里population的数据框是我们创建的只有一列(a)的数据框,因此我们得到了错误。使用EDAWR::population是指EDAWR包中的数据框。

使用删除poulation数据框rm(population),我认为两个代码都应该以相同的方式工作。也gather已退役并更换为pivot_longer现在。

于 2021-06-30T07:23:14.400 回答