在R语言中为字符串列表添加K-means聚类编号的方法
解决方法
报错原因很明确:dplyr::mutate只能用于**数据框(data frame)**对象,而你的sentences是字符向量,不符合函数的输入要求。你可以通过以下两种方式解决:
方法1:先转数据框再用mutate
先把字符向量转换为数据框,再添加聚类编号列:
# 将sentences转为数据框 sent_df <- data.frame(sentences = sentences, stringsAsFactors = FALSE) # 绑定聚类结果 clustered <- dplyr::mutate(sent_df, cluster = model$cluster)
方法2:直接创建结果数据框(更简洁)
跳过mutate,直接用data.frame函数一次性组合原文本和聚类编号:
clustered <- data.frame( sentences = sentences, cluster = model$cluster, stringsAsFactors = FALSE )
注意事项
确保model$cluster的长度和sentences的长度完全一致——正常情况下,你的聚类流程是基于所有sentence生成的,两者长度应该匹配;如果出现长度不匹配,需要检查中间步骤(比如removeSparseTerms是否过滤了部分文档)。
内容的提问来源于stack exchange,提问作者FPL
相关产品推荐
相关产品推荐

