问题:原始数据中包含离散变量,但离散变量的形式是纯数字,比如班级:1,2,3,4 四类,存放在excel中的列为文本格式,但在read.csv读入时,会直接自动的转换成numeric类型而不是character。请问这个问题怎么解决?
如果不明白问题可以看我生成的这个小例子#先造了一个数据
> x<-c(1,2,3,4)
> y<-c(0,0,1,1)
> p<-data.frame(x,y,stringsAsFactors = F)
> p
x y
1 1 0
2 2 0
3 3 1
4 4 1
#强制转换成character并写入csv
> p$x<-as.character(p$x)
> p$y<-as.character(p$y)
> str(p)
'data.frame': 4 obs. of 2 variables:
$ x: chr "1" "2" "3" "4"
$ y: chr "0" "0" "1" "1"
> write.csv(p,file = 'test_p.csv',row.names = FALSE)
#读入的时候发现变成了numeric。。。ORZ
> p2<-read.csv('test_p.csv',header=T,sep=',')
> str(p2)
'data.frame': 4 obs. of 2 variables:
$ x: int 1 2 3 4
$ y: int 0 0 1 1