1
正如本文的标题所示,我试图重命名我的数据框中的某些列,但代码似乎不适用于我。没有错误消息。所以,我想知道我是做错了什么或错过了什么。这是MWE。在dplyr中的重命名功能不起作用
install.packages("rsdmx")
install.packages("dplyr")
library(rsdmx)
library(dplyr)
#Download data
Assets.PIT <- readSDMX("http://widukind-api.cepremap.org/api/v1/sdmx/IMF/data/IFS/..Q.BFPA-BP6-USD")
Assets.PIT <- as.data.frame(Assets.PIT)
names(Assets.PIT)[10]<-"A.PI.T"
# Keep the required columns
A.port.inv.total<-Assets.PIT[c("WIDUKIND_NAME","REF-AREA","TIME_PERIOD","A.PI.T")]
所以在上面的代码中,我要重命名的一些列的A.port.inv.total
,所以,我使用:
# Rename columns
rename(A.port.inv.total, Country=WIDUKIND_NAME, year=TIME_PERIOD)
但产生的输出又是:
names(A.port.inv.total)
[1] "WIDUKIND_NAME" "REF-AREA" "TIME_PERIOD" "A.PI.T"
更新说明 我想重命名列向量WIDUKIND_NAME
和TIME_PERIOD
为Country
和year
这是真的,它现在的作品对我来说,太。但是,它应该没有任务,没有?我认为这是一个严重的缺陷。 – msh855
是的,我不知道它为什么不这样工作。我也对其他软件包的其他'rename'功能感到困惑。 –
这不仅仅是重命名。 R中的所有对象都是不可变的(至少是你会遇到的基本对象)。您只能通过更改副本并将副本重新分配到相同的名称来更改它们。 – drhagen