我正在尝试对混合数据使用分层聚类,但是不能使用daisy
包中的cluster
函数。我是R的初学者,所以这可能是一个简单的问题。由于我使用的数据集非常大,因此我将用问题描述一个样本集。请忍受我。
我有自己的数据框df
,其中有两列df$colA
(数字变量)和df$colB
(类别变量)。 df$colA
的制作方式是df$colA
的类型和类都是“整数”,而df$colB
的类型和类都是字符。
致电daisy(df, metric = "gower")
时遇到错误invalid type character for column numbers 2
,在网上搜索时,我发现必须将df$colB
更改为as.factor(df$colB)
,但是现在出现错误: Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
。
我已将问题隔离到df$colB
,所以我尝试通过daisy
获得由df$colB
组成的数据帧作为唯一列的高尔距离矩阵,并且给出了相同的错误。现在,如果我制作了一个样本数据帧test_df <- data.frame(test_column = c('A','B','C'))
,它也具有一类因子和类型整数,那么我就可以毫无问题地获得Gower距离矩阵,因此我不知道该怎么做。
我确实检查了向量中是否也没有NA
值。
谢谢您的帮助!