gpt4 book ai didi

提供的行名称在 R 中的长度错误

转载 作者:行者123 更新时间:2023-12-05 04:13:29 24 4
gpt4 key购买 nike

我正在运行一个计算产品描述之间相似度的 R 程序。程序的输入是一个包含 1 列的文件,其中包含产品说明列表,每列在单独的行上

我有另一个包含产品标题列表的文件,每个都在单独的行中。

我使用 dist 函数计算了产品描述之间的相似度,并将它们作为矩阵存储在 dist.mat 中。

接下来,我想将产品名称与我计算出的相似度相结合。因此,我阅读了名称中的产品标题,然后:

dist.mat <- data.frame(dist.mat, row.names=Names[,1])  
colnames(dist.mat) <- (row.names(dist.mat))

然后我得到一个错误: data.frame(dist.mat, row.names = Names[, 1]) 错误: 提供的行名长度错误

不太确定如何修复它。我读到这个:Invalid 'row.names' length但我无法使用 Sample$ 或 as.character 修复错误

我正在使用:lsa_0.73、SnowballC_0.5.1、tm_0.5-10

这是一个实际的例子:产品描述文件:

  • 这个杯子可以用来喝威士忌
  • 这是不锈钢玻璃
  • 这是一朵红玫瑰

产品标题文件:

  • 威士忌酒杯
  • 玻璃
  • 玫瑰

Output Example

如果有人能帮忙就太好了

最佳答案

正如错误消息所说,行名的长度与列数的长度不同,因为当我们使用 row.names=Names[,1] 添加新列时,显然,会有多一列。所以,我想这可以解决

 colnames(dist.mat)[-ncol(dist.mat)] <- row.names(dist.mat)

与其将 row.names 列作为最后一列,不如将其作为第一列可能更好

dist.mat1 <- data.frame(rn = row.names(Names[,1]), dist.mat) 
colnames(dist.mat1)[-1] <- row.names(dist.mat)

关于提供的行名称在 R 中的长度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37582506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com