vector:一个数组
factor:一个数组,其中包含的类型是固定的几种类型。如果有k种类型,比如a,b,c。。。,;R的内部存储是按照1,2,..,k来存储
a<-c(1,3) # a is a vector
b<-c('f','m') # b is a vector
a1<-factor(a) # change vector a to factor
b1<-factor(b) # change vector a to factor
a<-as.numeric(a1) # !! Doesn't change back, a will be c(1,2) instead of c(1,3)
>a
[1] 1 2 # why? 请回忆R的内部存储方式
a<-as.numeric(as.character(a1)) # 先转换为factor的字符串,然后再转换为数字
>a
[1] 1 3
b<-as.character(b1)  
read.table在读入文件的时候,如果文件的某一列都是数字,则会自动判定为vector的数字类型,只要有字符串出现,就会认为
是factor类型,因此当某列存在缺失用"missing"等字符串时,该列会被转换为factor类型,解决方法是对于这类缺失值,指定参数na.strings=c('missing'),或者使用colClasses=c('factor','numeric',...),依次将列转换为你希望的类型,注意numeric强制要求数据中不含字符串。