全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5392 3
2018-10-17
问题:原始数据中包含离散变量,但离散变量的形式是纯数字,比如班级: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



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-10-18 09:49:48
读取之后在强制转为character
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-18 10:43:05
cheetahfly 发表于 2018-10-18 09:49
读取之后在强制转为character
怎么来强转,想我后面的例子里那样么as.character()?还是读文件的函数就可以附带强转(大神最好给个代代码事例)。
另外也就是说每次读文件都要强转么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-18 11:47:52
使用readr::read_csv读取数据,在参数col_types中进行设置。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群