首页 > 解决方案 > 将多项选择数据转换为数字

问题描述

我的数据如下所示:

+-------------+------------+------------------+-------------------+------------------+
|   gender    |    age     |      income      | ate_string_cheese | tech_familiarity |
+-------------+------------+------------------+-------------------+------------------+
| A. Female   | D. 45-54   | B. $50K - $80K   | B. Once or twice  | A. Low           |
| A. Female   | C. 35-44   | A. $35K - $49K   | B. Once or twice  | B. Medium        |
| B. Male     | B. 25-34   | B. 50k - 79,999  | B. Once or twice  | C. High          |
| A. Female   | A. 18-24   | D. $100k - $149k | B. Once or twice  | B. Medium        |
+-------------+------------+------------------+-------------------+------------------+

我想尝试找出不同观察结果之间的相关性。我需要这些值是数字的。我想知道在 R 中是否有一种简单的方法可以做到这一点?

为了清楚起见,上面的结果如下所示:

+--------+-----+--------+-------------------+------------------+
| gender | age | income | ate_string_cheese | tech_familiarity |
+--------+-----+--------+-------------------+------------------+
|      1 |   4 |      2 |                 2 |                1 |
|      1 |   3 |      1 |                 2 |                2 |
|      2 |   2 |      2 |                 2 |                3 |
|      1 |   1 |      4 |                 2 |                2 |
+--------+-----+--------+-------------------+------------------+

我假设必须为此提供一个软件包,但我找不到可以让人联想到它的 Google 咒语。请知道我是一个完整的统计新手,只是在四处闲逛。因此,如果您向我询问更多详细信息,我可能不会有一个有根据的答案来返回。

标签: r

解决方案


要回答有关在 R 中将分类数据转换为数值数据的问题:

您可以将字符数据转换为factor 使用as.factor()

因子返回一个“因子”类的对象,该对象具有一组长度为 x 的整数代码,具有模式字符的“级别”属性。

优点:

  • 这将使用映射字符值以供参考的属性对您的数据进行数字编码。
  • 可以订购可以捕获有关序数数据的重要信息的因素(例如您的年龄范围)

缺点:

  • 谨防将分类数据转换为数字,以便对数据进行统计分析。数值可能不在所有问题的区间或比率范围内,因此取平均值或水平之间的差异可能没有意义。例如,考虑每个级别之间的距离是否实际上是恒定的,它是否具有自然零点等。

推荐阅读