使用 R 中的 as.numeric 函数将因子转换为数字 您所在的位置:网站首页 R语言as函数 使用 R 中的 as.numeric 函数将因子转换为数字

使用 R 中的 as.numeric 函数将因子转换为数字

2024-06-02 06:36| 来源: 网络整理| 查看: 265

在 R 中使用 as.numeric 函数将因子转换为数字 在 R 中结合 as.character 和 as.numeric 函数将因子转换为数字

本文将演示如何在 R 中将因子转换为数字的多种方法。

在 R 中使用 as.numeric 函数将因子转换为数字

as 函数通常用于将数据类型显式转换为另一种类型。转换过程在 R 术语中称为强制转换,它表示其他编程语言中存在的强制转换概念。当我们调用函数 as.logical 时,它会尝试将传递的参数强制转换为逻辑类型。类似地,as.character 和 as.numeric 将给定的参数转换为相应的类型。请注意,转换为逻辑类型的任何数字(零除外)都表示 TRUE 值,甚至是负值。

> as.logical(31) [1] TRUE > as.logical(-31) [1] TRUE > as.character(31) [1] "31" > as.numeric(FALSE) [1] 0 > as.numeric(TRUE) [1] 1

R 还实现了隐式类型强制规则,当对由不同类型组成的向量进行算术运算时需要这些规则。如以下代码片段所示,如果原子向量包含字符串,则其他所有元素也会转换为字符串。如果向量包含逻辑、数字和字符串的混合元素,它们将被强制转换为字符串类型。最后,当向量包含数字和逻辑时,将后者转换为数字。

> v1 typeof(v1) [1] "character" > v1 typeof(v1) [1] "character" > v1 typeof(v1) [1] "double"

将因子转换为数字时,重要的是要注意 as.numeric 将只返回底层整数表示,这几乎没有意义并且不对应于因子级别。可以使用 unclass 函数检查因子对象是如何在内部存储的。请注意,f2 因子的索引为 2 1 2 3,通常使用 as.number 调用返回,如下面的代码示例所示:

> f2 f2 [1] 3 2 3 4 Levels: 2 3 4 > f2.n unclass(f2) [1] 2 1 2 3 attr(,"levels") [1] "2" "3" "4" > f2.n [1] 2 1 2 3 在 R 中结合 as.character 和 as.numeric 函数将因子转换为数字

通过组合 as.character 和 as.numeric 函数,可以将因子级别转换为整数类型。as.character 以字符串形式返回因子水平。然后我们可以调用 as.numeric 函数将字符串强制转换为数字。

> f2 f2.c f2.c [1] "3" "2" "3" "4" > f2.c f2.c [1] 3 2 3 4


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有