为了提高 R 的效率,我正在对 SPSS .sav 文件重新运行分层分析。数据集如下所示:
id hour0 hour1 hour2 ... hour23
1 0.5 0.3 0.1 1.1
2 0.3 0.3 0.2 0.6
3 1.0 0.8 0.5 0.9
在 SPSS 中,我必须告诉软件哪个变量是案例标识符(此处为“id”),以便在创建矩阵时将其排除。但我在 R 中没有发现关于它的论点:
d <- dist(mydata, method = "euclidean") # distance matrix
而且,没有方法选项作为“平方欧几里得距离”(在 SPSS 中经常使用):
方法:要使用的距离度量。这必须是“euclidean”、“maximum”、“manhattan”、“canberra”、“binary”或“minkowski”之一。可以给出任何明确的子字符串。
当然,我可以通过导入这样的数据集来制作矩阵:
hour0 hour1 hour2 ... hour23
0.5 0.3 0.1 1.1
0.3 0.3 0.2 0.6
1.0 0.8 0.5 0.9
但我想在此处保留 id,因为我必须知道每个人在最终输出中属于哪个集群,例如 SPSS 层次聚类输出(clus# 表示 SPSS 提供了带有 # 个集群的解决方案):
id hour0 hour1 hour2 ... hour23 clus7 clus6
1 0.5 0.3 0.1 1.1 3 3
2 0.3 0.3 0.2 0.6 7 6
3 1.0 0.8 0.5 0.9 1 1
最后一个问题是在 R 层次聚类中没有“组内链接”的论点:
fit <- hclust(d, method="ward")
方法:要使用的聚集方法。这应该是“ward”、“single”、“complete”、“average”、“mcquitty”、“median”或“centroid”之一(明确的缩写)。
在 SPSS 中,“平均”方法分为两种方法:“组间联系”和“组内联系”,在这两种方法之间做出选择时,输出可能会有所不同。
那么有谁知道我应该做什么或应该安装什么包?问题是:
- 矩阵创建中的平方欧几里德距离方法
- 案例标识符
- 属于输出的聚类
- 层次聚类中的组内链接方法