假设我们在10个葡萄酒样本(行)上有一个包含5个化学测量值(例如,var1,var2,var3,var4,var5)的10x5数据集 . 我们希望使用k均值聚类基于化学测量对葡萄酒样品进行聚类 . 这样做很容易 . 但是,我想进行连续聚类,首先使用单个化学测量对葡萄酒样品进行聚类,然后使用var1,var2,var3,var4和var5(所有一元,二元,三元,四元和所有组合)的所有组合执行聚类操作 . 五元组合) .
换句话说,我有兴趣根据列中给出的所有可能的测量组合对葡萄酒样本进行聚类,这将产生总共31个聚类结果,例如,基于(1)var1,(2)var2,( 3)var3,(4)var4,(5)var5,(6)var1和var2,(7)var1和var3,...,(31)var1,var2,var3,var4和var5 .
如何在R中创建这样的循环?
2 回答
假设你有一个数据集:
现在你可以得到列的所有子集(由逻辑向量表示我们是否应该保留每一列),删除第一列(这将删除所有列) .
最后一步是为列的每个子集运行k-means聚类,这是一个简单的
apply
应用程序(我假设您希望每个模型中有3个聚类):您可以使用列表索引访问每个31 k-means模型 . 例如: