【问题标题】:Corrplot correlation error: 'x' must be numericCorrplot 相关错误:“x”必须是数字
【发布时间】:2018-02-15 17:17:53
【问题描述】:

我正在尝试使用“corrplot”库为我的数据集创建一个相关图。但是我收到一个错误,因为

相关错误:“x”必须是数字

这是我的数据集的示例

 R.D.Spend Administration Marketing.Spend State   Profit
1  165349.2      136897.80        471784.1     1 192261.8
2  162597.7      151377.59        443898.5     2 191792.1
3  153441.5      101145.55        407934.5     3 191050.4
6  131876.9       99814.71        362861.4     1 156991.1
7  134615.5      147198.87        127716.8     2 156122.5

我的代码是

library('corrplot')

M=cor(training_set)
corrplot(M,method = 'circle')

当我尝试运行我的代码时,我得到了上面提到的错误。我不明白什么是错的,因为我的数据集中的所有值都是数字。 我剩下的代码是

dataset = read.csv('50_Startups.csv')

dataset$State=factor(dataset$State, 
                     levels = c('New York', 'California', 'Florida'),
                     labels = c('1','2','3'))

head(dataset,n=5)
# Splitting the dataset into the Training set and Test set
# install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Profit, SplitRatio = 0.8)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)

【问题讨论】:

  • 通过将dput(training_set) 或更小的dput(head(training_set)) 的输出发布到您的问题而不是此表中来添加您的数据示例确实更好。因为通过使用read.table() 在您的表格中阅读您的代码,您的代码正是它应该提供的:一个花哨的彩色 corrplot。考虑str(training_set) 来评估所有数据是否都是数字。
  • 哦,好吧。感谢您的提示。

标签: r r-corrplot


【解决方案1】:

dataset$Statefactorcor 只需要 numeric 变量。

【讨论】:

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