【问题标题】:Error in cor(mydata) : 'x' must be numericcor(mydata) 中的错误:“x”必须是数字
【发布时间】:2022-01-05 22:23:11
【问题描述】:

在 R 中,我在尝试为我的数据创建相关矩阵时遇到了麻烦。我一直遇到这个问题:“cor(mydata) 中的错误:'x' 必须是数字”,我不知道如何解决。

> mydata <- Combo[, c(1,2,3,4,5,6,7)]
> head(mydata, 13)

> #computing matrix
> corrmax = cor(mydata)
**Error in cor(mydata) : 'x' must be numeric**
> 

【问题讨论】:

  • SiteUnemploymentBelow.Poverty 不是数字,因为它们有字符,因此会出现错误。您可以省略这些变量,或者您可以通过删除% 并转换将最后两个转换为数字。您将不得不省略 Site 变量
  • ...您也可能需要处理NA;策略见?cor的帮助页面

标签: r matrix correlation


【解决方案1】:

我相信并非mydata 中的所有数据都是数字。您可以通过运行:str(mydata)sapply(mydata, is.numeric) 来测试它。

如果mydata中存在chr或其他非数字格式的变量,或者在sapply的情况下返回FALSE,则需要在运行命令之前将它们转换为数字或更多对您计算相关性的变量集有选择性。我在您发布的内容中看到了字符串和百分号。需要删除字符串并将格式化的百分比 (%) 转换为数字表示(小数)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2014-07-27
    • 2020-12-19
    • 2019-10-04
    • 1970-01-01
    相关资源
    最近更新 更多