在R Package - ClustOfVar中,有一些方法可以互相聚类变量。它给出了如下错误 -
train2 = train[!duplicated(lapply(train, summary))]
> tree <- hclustvar(train2[, 2:10])
Error in recodquant(X.quanti) :
There are columns in X.quanti where all the values are identical
据我所知,为了确保我的变量不相同,我已经应用了重复的逻辑来删除重复的变量。
我检查了https://github.com/cran/PCAmixdata/blob/master/R/recodquant.R上的包裹代码,但无法识别错误。
任何想法?
谢谢, 和Manish
答案 0 :(得分:0)
以下代码无法正确识别重复项 -
train2 = train[!duplicated(lapply(train, summary))]
请使用以下 -
library(digest)
train2 = train[!duplicated(lapply(train, digest))]
答案 1 :(得分:0)
我认为,这不是相同列的问题。我尝试了上述解决方案,但对我来说不起作用。
在阅读ClustOfVar包时,我知道,它在内部计算变量之间的相关性。然后,我计算变量之间的互相关。和I find that the cross correlation between some variables was NA
。然后,我手动删除这些变量,我为我工作。
使用xcor = cor(data)
计算变量之间的互相关。
使用导出交叉相关数据
write.csv(xcor, 'xcor.csv')
Check for the variable for which correlation is NA
,删除这些变量并再次运行代码。
参考:https://www.jstatsoft.org/article/view/v050i13/v50i13.pdf
上面的参考资料解释了ClustOfVar的工作原理。