Ama*_*nda 7 r transformation dataframe
我正在使用导入excel文档read.xls.我知道这个命令使用read.table并返回所有内容作为"因素".我无法直接上传我的数据,告诉read.xls哪些列是数字的,因为所有列都有以前的分类数据.所以我一直在提取我想要的数字数据列,然后想要将它们从data.frames转换为数字数据,但是当我使用时,as.numeric我收到的数字与原始数据不对应.
例如:
这些是我的data.frame的前6行,称为dfA1,它是96,1向量
[,1]
[1,] "103316"
[2,] "130720"
[3,] "141808"
[4,] "131864"
[5,] "148144"
[6,] "145760"
Run Code Online (Sandbox Code Playgroud)
当我表演时,as.numeric(dfA1)我收到:
[1] 2 18 29 19 43 40
Run Code Online (Sandbox Code Playgroud)
我完全不知道为什么我会得到这些数字或者它是如何得出它们的.我检查了我的原始xls文档,它们被标记为数字,没有小数.
jor*_*ran 14
你可以试试:
as.numeric(as.character(dfA1))
Run Code Online (Sandbox Code Playgroud)
并且您还可以通过设置stringsAsFactors = FALSE使用来防止事物自动转换为因子?options.
发生这种情况的原因是因素实际上是作为整数存储在内部,标签是打印出来时实际显示的内容(例如"103316").该函数as.numeric认为您想要的是基础整数表示.