返回顶部
首页 > 资讯 > 精选 >使用R语言怎么实现因子型数值转数值型操作
  • 393
分享到

使用R语言怎么实现因子型数值转数值型操作

2023-06-14 14:06:29 393人浏览 薄情痞子
摘要

本篇文章为大家展示了使用R语言怎么实现因子型数值转数值型操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因子(factor)转换成数值型(numeric)的规则是这样的:一共有n个数,那么转换后的

本篇文章为大家展示了使用R语言怎么实现因子型数值转数值型操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

因子(factor)转换成数值型(numeric)的规则是这样的:

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

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

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

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

补充:R_as.numeric()函数在转换小数时返回无意义结果的解决

本文重点解决as.numeric()函数将factor转为数值时得出的无意义结果的解决

假设有数据框aaa

x   |    y     |       value ------------------------------------------a1      b2        0.510665432157769a2      b3        0.887655678543227..      ..              ...

运行as.numeric(aaa[1,3]),返回的结果居然是123?当然,这只是个栗子,为了表达问题所在。真正运行时不一定得到的结果是123

在R help中找到如下参考

Warning

If x is a factor, as.numeric will return the underlying numeric (integer) representation, which is often meaningless as it may not correspond to the factor levels, see the ‘Warning' section in factor (and the 2nd example below).

看到meaningless这个词了吗,意思是如果使用as.numeric转换一个因子,则通常会返回一个无意义的结果,是因子的一个“整型数字象征”,因为R为了节省内存提高速度,因子类型底层是用C语言中的int实现的,因子的值与该整型数值的“转换表格”存储在内存中。

那么我们如何解决呢?

嵌套使用

as.numeric(as.character(aaa[1,3]))

这样返回的就是正常应转化的数值,而不是一个无意义的结果如一百二十三。

但上面的方法有一个问题,在小数点后位数太大时输出结果会四舍五入。

对于这个,我们可以使用print()函数中的参数digit,print(as.numeric(as.character(aaa[1,3])),digits = 16),输出的就是不带四舍五入的完整值

理论上fORMat(xx, digits = 16)也可以保证长度,但我没在这种情况下试。

上述内容就是使用R语言怎么实现因子型数值转数值型操作,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 使用R语言怎么实现因子型数值转数值型操作

本文链接: https://lsjlt.com/news/271357.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用R语言怎么实现因子型数值转数值型操作
    本篇文章为大家展示了使用R语言怎么实现因子型数值转数值型操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因子(factor)转换成数值型(numeric)的规则是这样的:一共有n个数,那么转换后的...
    99+
    2023-06-14
  • R语言因子型数值转数值型的操作
    一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如 x<-“123”,x为character类型,而as.n...
    99+
    2024-04-02
  • r语言中怎么将字符型转换为数值型
    要将字符型转换为数值型,可以使用as.numeric()函数。示例如下: # 创建一个字符型变量 char_var <- &q...
    99+
    2024-03-02
    r语言
  • r语言指定列怎么转化为数值型
    要将R语言中的指定列转化为数值型,可以使用as.numeric()函数。以下是示例代码:```# 创建一个数据框df ...
    99+
    2023-09-04
    r语言
  • R语言 实现将数据框中的字符类型数字转换为数值
    场景1 我现在有一个数据框datexpr,里面的数字都是以字符型表示的,像这样 > datexpr[1,1] [1] " 1.143773961" 现在我想把这个数据框中...
    99+
    2024-04-02
  • r语言怎么将数值转化为整数
    在R语言中,可以使用`as.integer()`函数将数值转化为整数。例如,假设有一个数值为2.5的变量x,我们想将其转化为整数,可...
    99+
    2023-09-04
    r语言
  • R语言 实现list类型数据转换
    例如: > a=list(c('232','34'),c('good','bad'),c(1,5)) > a [[1]] [1] "232" "34" [[2]]...
    99+
    2024-04-02
  • R语言如何实现list类型数据转换
    这篇文章主要介绍“R语言如何实现list类型数据转换”,在日常操作中,相信很多人在R语言如何实现list类型数据转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言如何实现list类型数据转换”的疑惑有所...
    99+
    2023-06-08
  • r语言中怎么进行数据类型转换
    在R语言中,可以使用以下函数来进行数据类型转换: 使用as.numeric()函数将数据转换为数值型: x <- &quo...
    99+
    2024-03-02
    r语言
  • c语言中数值型常量怎么表示
    在 c 语言中,数值型常量可表示为整数、浮点和字符常量。整数常量可以用十进制、八进制或十六进制表示,并可有符号或无符号;浮点常量可表示为小数或科学记数法;字符常量用单引号括起的单个字符表...
    99+
    2024-04-29
    c语言
  • R语言怎么对数组进行转置操作
    在R语言中,可以使用transpose()函数对数组进行转置操作。下面是一个简单的示例: # 创建一个矩阵 mat <- ma...
    99+
    2024-03-06
    R语言
  • Go语言strconv包实现字符串和数值类型的相互转换
    目录string 与 int 类型之间的转换Itoa():整型转字符串Atoi():字符串转整型Parse 系列函数ParseBool()ParseInt()ParseUnit...
    99+
    2022-06-07
    GO 字符串 值类型 字符
  • 怎么在python中使用数值类型
    这期内容当中小编将会给大家带来有关怎么在python中使用数值类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络...
    99+
    2023-06-14
  • 怎么在R语言中实现数据预处理操作
    本篇文章给大家分享的是有关怎么在R语言中实现数据预处理操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、项目环境开发工具:RStudioR:3.5.2相关包:infothe...
    99+
    2023-06-08
  • c语言中数值型常量怎么表示出来
    c 语言中数值型常量有以下表示方式:十进制整数八进制整数十六进制整数十进制浮点数科学记数法字符常量布尔常量 C 语言中数值型常量的表示方式 数值型常量是指在程序中直接表示的数值,它不会...
    99+
    2024-05-02
    c语言 隐式转换
  • Go语言函数返回值类型推断的实现原理
    go语言函数返回值类型推断通过以下原理实现:编译器分析函数上下文并查找类型签名。编译器创建可用于多种类型签名的函数对象。编译器生成可根据调用上下文实际类型进行调整的泛型代码。 Go语言...
    99+
    2024-04-29
    go语言 返回值类型推断
  • Go语言strconv包如何实现字符串和数值类型的相互转换
    这篇文章将为大家详细讲解有关Go语言strconv包如何实现字符串和数值类型的相互转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string、...
    99+
    2023-06-14
  • 怎么在C语言中对字符串与各数值类型进行转换
    本篇文章给大家分享的是有关怎么在C语言中对字符串与各数值类型进行转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先放上一段展示各函数使用的代码,大家也可以copy到自己的机...
    99+
    2023-06-14
  • 利用Go语言实现不同数据类型的输出操作
    标题:利用Go语言实现不同数据类型的输出操作 Go语言作为一种简洁、高效的编程语言,提供了丰富的标准库,能够方便地操作不同数据类型并进行输出。本文将介绍如何利用Go语言实现对不同数据类...
    99+
    2024-03-15
    go语言输出数据 数据类型输出 不同数据输出 go语言 标准库
  • PostgreSQL隐式类型转换中使用哪些操作符实现函数
    这篇文章主要讲解了“PostgreSQL隐式类型转换中使用哪些操作符实现函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PostgreSQL隐式类型转换中...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作