R 像更改其他数据帧一样更改数据帧的类

R 像更改其他数据帧一样更改数据帧的类,r,class,R,Class,我有一个包含此类的数据框(DataFrame1)(仅打印第4个类): 我创建了一个具有完全相同列的新数据框(以相同的顺序,具有相同的重要性) 我想用rbind连接这个数据帧,但是我收到了一个错误,因为类不同。所以,我改变了课程: class(DataFrame2[,1])<-class(DataFrame1[,1]) class(DataFrame2[,2])<-class(DataFrame1[,2]) class(DataFrame2[,3])<-class(DataFra

我有一个包含此类的数据框(DataFrame1)(仅打印第4个类):

我创建了一个具有完全相同列的新数据框(以相同的顺序,具有相同的重要性)

我想用
rbind
连接这个数据帧,但是我收到了一个错误,因为类不同。所以,我改变了课程:

class(DataFrame2[,1])<-class(DataFrame1[,1])
class(DataFrame2[,2])<-class(DataFrame1[,2])
class(DataFrame2[,3])<-class(DataFrame1[,3])
class(DataFrame2[,4])<-class(DataFrame1[,4])
如果我执行了
rbind
操作,我会收到相同的错误

为什么在numeric和integer类中出现原子


如果DataFrame2的类与DataFrame1中的类相同,我该怎么办?

问题似乎是第二个
数据的第一列。frame
是一个
因子。尝试使用将其转换为
整数

DataFrame2$Var1 <- as.integer(as.character(DataFrame2$Var1))
但是,首先调用
as.character()
会得到所需的结果:

as.integer(as.character(a))
[1] 200 201 202 203 204 205

请执行
DataFrame2[,1]@ytk,谢谢,它可以工作
> str(DataFrame2)
'data.frame':   7 obs. of  30 variables:
 $ Var1          : atomic  1 3 5 5 5 4 2
  ..- attr(*, "levels")= chr  "20102" "20132" "20141" "20142" ...
 $ Var2          : Factor w/ 6 levels "270620","28078",..: 2 3 3 4 5 6 1
 $ Var3          : Factor w/ 4 levels "2010/11","2013/14",..: 1 3 4 4 4 3 2
 $ Var4          : Factor w/ 2 levels "1","2": 2 1 1 1 1 2 2
DataFrame2$Var1 <- as.integer(as.character(DataFrame2$Var1))
a <- as.factor(200:205)
as.integer(a)
[1] 1 2 3 4 5 6
as.integer(as.character(a))
[1] 200 201 202 203 204 205