rbind
当使用两个data.frames
带NA
值时,我对 R 强制变量类型的方式有疑问。我举例说明:
x<-factor(sample(1:3,10,T))
y<-rnorm(10)
dat<-data.frame(x,y)
NAs<-data.frame(matrix(NA,ncol=ncol(dat),nrow=nrow(dat)))
colnames(NAs)<-colnames(dat)
现在的目标是追加dat
和NAs
同时保留变量类型factor
和numeric
的x
和y
。当我给:
dat_forward<-rbind(dat,NAs)
is.factor(dat_forward$x)
这很好用。但是反向使用rbind
失败:
dat_backward<-rbind(NAs,dat)
is.factor(dat_backward$x)
is.character(dat_backward$x)
现在x
被强制到角色级别。我很困惑 - 即使我使用其他绑定顺序,它不能保持因子类型吗?对我的代码进行哪些直接更改以实现我的目标?