全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
29063 13
2014-01-23
用的数据是《初学者指南》里的一个案例。打开数据后直接读取成了factor型,为了改称numeric尝试使用了fix( )命令,结果多出来一行NA
复制代码
请问有什么其他把因子型转换成数值型的好方法么?


二维码

扫码加我 拉你入群

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

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

全部回复
2014-1-24 09:10:57
你这个最好的办法是 read.table时候就读成数值型,R读的时候默认"NA"是missing,如果你的数据不是用NA来表示missing,那么这一列就读成string或者factor了

解决办法就是 read.table里面用 na.strings  比如 假设missing是用"."表示的

read.table(file = "BirdFluCases.txt", header=FALSE, na.strings=".")

如果还不行的话,那就用 colClasses 来设置读的类型


二维码

扫码加我 拉你入群

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

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

2014-1-25 10:31:05
as.numeric()
二维码

扫码加我 拉你入群

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

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

2014-1-25 11:34:16
ltx5151 发表于 2014-1-25 10:31
as.numeric()
这样貌似会容易出问题的
such as : x <- factor(c(3,4,5,1))
as.numeric(x)
[1]2 3 4 1
最好是这样:as.numeric(levels(x)[x])
[1] 3 4 5 1
二维码

扫码加我 拉你入群

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

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

2015-8-20 18:50:59
熊小贤 发表于 2014-1-25 11:34
这样貌似会容易出问题的
such as : x
我在处理数据时发现这两种方法是互补的。as.numeric()处理不了的,as.numeric(levels(x)[x])可以处理,反之as.numeric(levels(x)[x])处理不了的,as.numeric()可以处理。您知道这是怎么回事吗?
二维码

扫码加我 拉你入群

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

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

2015-8-21 07:17:33
as.numeric(as.character())
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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