dplyr R包的bind_rows会更改列名(如果它们是数字的话)



在下面的最小示例中,dplyr包的bind_rows将colname从数字更改为X1、X2、X3。有人能告诉我为什么会发生这种情况,以及我如何防止这种情况发生吗?

df1<-data.frame("1"=c(1,2,3),"2"=c(1,2,3))
df2<-data.frame("2"=c(1,2,3),"3"=c(1,2,3))
library(dplyr)
df3<-bind_rows(df1, df2)
更改列名的是data.frame,而不是bind_rows。(查看df1df2进行确认。(我们需要data.frame调用中的check.names = FALSE,因为默认情况下它是TRUE。根据?data.frame

check.names-逻辑。如果为TRUE,则检查数据帧中变量的名称,以确保它们在语法上是有效的变量名称,并且不重复。如有必要,可对其进行调整(通过品牌名称(,使其符合要求。

df1 <- data.frame("1"=c(1,2,3),"2"=c(1,2,3), check.names = FALSE)

相关内容

最新更新