若我们想将一个factor类型的数据(1,10,2)转为numeric类型的(1,10,2),一定不要直接用as.numeric命令,而要先把factor转换为character,再转换为numeric。这其实跟factor的定义有关,factor体现了一种等级,在这个例子中,1是最小的等级为1,10最大等级为3,2其次等级为2. 下面我们通过这两种操作具体感受一下,
fac = factor(c(1,10,2))
fac = as.numeric(fac)
fac = factor(c(1,10,2))
fac = as.numeric(as.character(fac))