楼主: bangmingshaw
2378 3

[问答] as.numeric不能直接对factor类型的数据用么?求大神看过来。。。 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

67%

还不是VIP/贵宾

-

威望
0
论坛币
1185 个
通用积分
4.3501
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2509 点
帖子
95
精华
0
在线时间
201 小时
注册时间
2010-5-13
最后登录
2025-2-14

楼主
bangmingshaw 发表于 2016-12-26 17:28:48 |AI写论文
2论坛币
class (x)得到的结果是“factor”
as.numeric(x)得到的结果也确实变成了numeric
但数值全都变了,必须先as.vector(x)之后再as.numeric(x)才能既得到numeric的类型,同时又不改变数值。
请教大神这是为什么啊?

最佳答案

机械唯物主义123 查看完整内容

factor变量中的数字不是数字,“1”,“2”,“3”和“张三”,“李四”,“王二麻子”是等价的,没有大小之分,as.vector是把变量里面的数据直接转化向量中的元素
关键词:numeric factor Facto fact Eric factor

沙发
机械唯物主义123 发表于 2016-12-26 17:28:49
factor变量中的数字不是数字,“1”,“2”,“3”和“张三”,“李四”,“王二麻子”是等价的,没有大小之分,as.vector是把变量里面的数据直接转化向量中的元素

藤椅
teresa_ya 发表于 2017-5-18 20:15:32
求问为什么用as.numeric(as.vector(x))之后数据都变成了NA

板凳
gongjiangchao 发表于 2017-5-19 00:34:03
因子变数值可以使用:
as.numeric(as.character(x)),要先化为字符再用数值转化,不然你得到的是水平的数值

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 22:35