楼主: dxystata
2154 1

[问答] 关于factor的3个问题 [推广有奖]

版主

大师

34%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
182600 个
通用积分
15207.3903
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
291628 点
帖子
5382
精华
1
在线时间
13485 小时
注册时间
2006-6-21
最后登录
2024-5-3

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1.
> a<-factor(2:4, levels=c("a", "b", "c"))
> a
[1] <NA> <NA> <NA>
Levels: a b c
a为什么不是2 3 4

2.
a<-factor(2:4, labels=c("a", "b", "c"))
as.numeric(a) 得到的结果是1 2 3,如何得到结果是2 3 4 ,不要告诉我答案是as.numeric(a)+1
3.
a<-factor(2:4,levels=c(1,2,3))
a
a<-factor(2:4,levels=c("1","2","3"))
a
a<-factor(2:4, levels=c("a", "b", "c"))
a

有何不同?
二维码

扫码加我 拉你入群

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

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

关键词:factor Facto fact ACT CTO factor

本帖被以下文库推荐

  • · R学习|主题: 262, 订阅: 161
沙发
jmpamao 发表于 2014-5-19 12:11:41 |只看作者 |坛友微信交流群
需要看  factor  的代码。代码不长。

第一个和第三个问题 一回事,  a <- factor(x=2:4, levels=c("a", "b", "c"))
x=as.character(x)   
match(x,levels)
你就可以看其返回值是什么?x 与 levels 相互匹配,没有的就NA


第二个问题  factor 背后有 ordered 排序,
a<-factor(2:4, labels=c("a", "b", "c")) as.numeric(a) 后 就只是 ordered,1,2,3
另外 labels的 后 a  返回的是 "a", "b" 这类的 character,    也没法 as.numeric
如果 a <- factor(2:4, labels=c("2","3","4")) 倒是 可以 as.numeric(levels(a))[a]  或者  as.numeric(as.character(a))

  有补充的吗?
欢迎~~~
已有 1 人评分经验 论坛币 收起 理由
ltx5151 + 60 + 20 热心帮助其他会员

总评分: 经验 + 60  论坛币 + 20   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 09:57