R语言因子型数值转数值型

一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如

x<-“123”,x为character类型,而as.numeric(x)则为numeric类型的123。但是因子(factor)类型却不一样。

  a<-factor(c(100,200,300,301,302,400,10)),它们的值分别为100 200 300 301 302 400 10,

然而 as.numeric(a)对应的值并非100 200 300 301 302 400 10,而是2 3 4 5 6 7 1。因子(factor)转换成数值型(numeric)

的规则是这样的:

 一共有n个数,那么转换后的数字就会在1——n中取值,数字最小的取一,次小的取二,以此类推。

 那么如何让因子(factor)类型里的数值转换对应的数值型呢?

 as.numeric(as.character(factorname)))
 as.numeric(levels(factorname)[factorname]))

 以上代码都可以实现将因子(factor)类型里的数值转换对应的数值型,思路都是先转换成字符型然后再转换成数值型。

原文链接:https://blog.csdn.net/jiluben/article/details/40222229

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在R中,可以使用as.numeric()函数将因子变量换为数值变量。例如,如果你有一个名为x的因子变量,你可以使用以下代码将其换为数值变量: x_num <- as.numeric(as.character(x)) 这里,我们首先使用as.character()函数将因子变量换为字符变量,然后再使用as.numeric()函数将字符变量换为数值变量。请注意,换为数值变量后,因子的标签将被换为对应的数值。 引用\[2\]提供了一个示例,展示了如何将因子变量x换为数值变量并打印到RStudio控制台: x <- as.factor(sample(c(3, 5, 6, 9), 100, replace = TRUE)) x_num <- as.numeric(as.character(x)) print(x_num) 你可以根据自己的数据和需求,将上述代码进行适当的修改和应用。 #### 引用[.reference_title] - *1* [R语言数据预处理、数据因子化并自定义因子标签、通过labels参数指定因子标签](https://blog.csdn.net/weixin_57242009/article/details/124532043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [R语言as.numeric函数将因子变量(factor)化为数值变量(Numeric)](https://blog.csdn.net/zhongkeyuanchongqing/article/details/120011991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [入门必学 | R语言数值、字符因子数据之间的差异与换](https://blog.csdn.net/qq_42830713/article/details/127524698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值