r - 如何在r中将文本变量转换为数字变量
问题描述
我遇到了将文本变量转换为数字变量的问题。我认为我成功地构建了具有多个级别的虚拟变量。但是,当我尝试读取数据文件时,这些变量的类别仍然是文本..
这是我的代码、输出和数据文件:
之后,当我尝试生成相关值时,它仍然显示错误:
cor(hpNumeric)中的错误:“x”必须是数字
任何建议表示赞赏!
解决方案
最好直接查看您的代码,而不必单击链接来下载东西。如果我正确理解了您的代码(它不完全可见并且您的“输出”不是summary(lm...)
命令的输出),那么您已经过度设计了这个问题。
您的第一行已经将您的变量编码为一个因子,这将告诉 R 在您执行回归等时自动创建虚拟变量。您通过应用对比矩阵所做的是再次将该因子转换为原始数字。这就是你真正需要的:
df$x <- factor(<your variable data here as in your example>)
m <- lm(y ~ x ..., data = df)
如果你真的想把你的变量看作一个整数,你可以使用as.integer
,但我认为你不应该把这样的事情复杂化。
查看R 中的数据类型以获取有关因子的更多信息。
推荐阅读
- javascript - 如何过滤 typescript 中的对象数组,以便只留下包含可选键的对象(并且 typescript 知道)?
- python - 安装 PlaidML Keras
- php - 在 PHP 中以正确的格式用“-”替换空格和特殊字符
- swift - 一般将闭包结果转换为 Rx?
- angular - 无法登录,收到错误 POST http://localhost:5000/api/auth/login 404(未找到)
- c - 为什么 C 使用多个命名空间?
- javascript - javascript 函数应该在 django 模板中的 2 个图像之间切换,但不会
- javascript - 无法在 Heroku 上编译代码,出现错误
- reactjs - 当我在 react.js 的页面之间移动时,如何让音乐播放器继续播放?
- xml - 最喜欢的电影以及不是 XML 和 Python 的电影的数量