You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法运行Kmeans算法?R语言聚类分析操作异常求助

解决CSV加载后绘图出现灰色块的问题

看起来你在导入CSV数据准备做kmeans聚类时,遇到了绘图显示异常的问题,我来帮你一步步排查和解决:

第一步:先确认数据加载是否正确

首先要排查的是CSV文件格式是否正确,以及R是否正确解析了你的数据:

  • 先运行以下代码查看数据结构:
    str(data1)
    head(data1)
    
    如果输出显示数据是因子类型(Factor),或者只有一列(而你实际应该是多特征数据),那就是加载环节出了问题。

常见加载错误原因及解决:

  1. CSV分隔符不匹配
    记事本保存CSV时,要确保用逗号分隔每个数据特征,而不是空格、制表符或其他符号。如果你的数据是用其他分隔符(比如制表符),加载时要指定sep参数:

    data1 <- read.csv(file.choose(), header = FALSE, sep = "\t") # 制表符分隔的情况
    
  2. 数据格式不符合聚类要求
    kmeans聚类需要的是数值型的多列数据(比如每行是一个样本,每列是一个特征)。如果你的CSV是把所有数据放在一列里,或者每行格式混乱,加载后就会出现异常。正确的CSV格式应该像这样(以两特征聚类为例):

    1.5,2.3
    4.1,5.2
    3.8,1.9
    

第二步:修正数据后重新绘图

当数据正确加载后,先把数据转为数值型(避免因子干扰),再尝试绘图:

# 将数据框的每列转为数值型
data1 <- as.data.frame(apply(data1, 2, as.numeric))
# 绘制散点图
plot(data1)

如果这时候能看到正常的散点,就说明问题解决了。

第三步:继续完成kmeans聚类

数据确认无误后,就可以正常执行你的聚类步骤了,这里给你整理下完整的代码(建议把聚类结果存在单独变量里,避免覆盖原始数据):

# 执行kmeans聚类
km_result <- kmeans(data1, centers = 2)
# 查看聚类中心
km_result$centers
# 查看每个样本的聚类标签
km_result$cluster
# 绘制带聚类结果的散点图(不同颜色区分聚类,红色/蓝色标记中心)
plot(data1, col = km_result$cluster, pch = 16, main = "Kmeans聚类结果")
points(km_result$centers, col = c("red", "blue"), pch = 8, cex = 2)

内容的提问来源于stack exchange,提问作者tryingtotryhard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:30:48