问题标签 [r-daisy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R: RStudio: How to get silhouette plot working?
Today I have realised that the silhouette
plot in the cluster
package doesn't display properly in RStudio
. A Google search revealed that someone else had had a problem with this:
http://support.rstudio.org/help/discussions/problems/3094-plotsnot-showing-up-in-r-studio
Being new to R, it was unclear to me whether the problem had been resolved in this thread! So my question is: is there a way to get the silhouette
plot to display properly in RStudio
?
Thanks for any help.
Example script:
r - 使用 Daisy 函数和 Gower 相似度确定最佳聚类数
我试图将 250 个物种的行为特征归类为生活史策略。性状数据由数值变量和名义变量组成。我对 R 和聚类分析比较陌生,但我相信找到这些点的距离的最佳选择是在 daisy 函数中使用 gower 相似性方法。1)这是最好的方法吗?
一旦我有了这些距离,我想找到重要的集群。我研究了 pvclust 并喜欢它赋予我集群强度的能力。但是,我无法修改代码以接受之前使用 daisy 进行的距离测量。我没有成功地尝试遵循这里给出的建议https://stats.stackexchange.com/questions/10347/making-a-heatmap-with-a-precomputed-distance-matrix-and-data-matrix-in-r/ 10349#10349并使用此处获得的代码http://www.is.titech.ac.jp/~shimo/prog/pvclust/pvclust_unofficial_090824/pvclust.R
2)谁能帮我修改现有代码以接受我的距离测量?
3)或者,是否有另一种更好的方法来确定重要集群的数量?
我提前感谢大家的帮助。
r - 计算数据框中所有列对之间的点积
我有一个 Rdata frame
列是逻辑变量。我需要在所有可能的列对之间进行某种点积。
这源于文本语料库分析,其中数据框指示哪些术语(行)存在于哪些文档(列)中。daisy
对于希望使用from cluster
package 或cosine
from package计算每个可能的列对的距离的情况,有一些常见的快速解决方案lsa
。
但是,我需要在所有列对之间使用某种点积来代替:目标是计算比较的两个文档中同时存在多少个单词(并且对于每一对)。
r - .C 中不支持 R 集群包错误 Daisy() 函数长向量(参数 11)
尝试使用 R中的包中的函数将data.frame
具有数字、名义和 NA 值的 a 转换为相异矩阵。我的目的涉及在应用 k 均值聚类进行客户细分之前创建一个相异矩阵。有133,153 行和 36 列。这是我的机器。daisy
cluster
data.frame
如何修复菊花警告?
由于 Windows 计算机具有 3 Gb RAM,我将虚拟内存增加到 100 GB,希望这足以创建矩阵 - 它没有工作。我仍然有一些关于内存的错误。我研究了其他 R 包来解决内存问题,但它们不起作用。我不能bigmemory
与biganalytics
包一起使用,因为它只接受数字矩阵。和包clara
也ff
只接受数字矩阵。
CRAN 的cluster
软件包建议在应用 k-means 之前将 gower 相似系数作为距离度量。高尔系数采用数值、名义和 NA 值。
**编辑:我将 RStudio 与 Amazon Web Service (AWS) r3.8xlarge 对齐,具有 244Gbs 内存和 32 个 vCPU。我尝试在我的计算机上创建菊花矩阵,但没有足够的 RAM。**
**编辑 2:我使用 clara 函数对数据集进行聚类。**
r - 计算轮廓宽度 - 特殊情况
我完全按照@MrFlick 的建议重新起草了这个问题。
假设我有一个data.frame
如下
对于每一个group
,我想计算与“最佳”聚类数相对应的轮廓宽度(SW)。为此,我准备了以下功能,我想在任何group
作为最终输出,我想在第一列中ASW
生成data.frame
组号(id),在第二列中生成与最佳集群数相对应的轮廓宽度值。如果该组仅包含一个人,我希望轮廓宽度为 0 - 未为少于 2 个集群定义 SW。group
使用除我想使用包中的差异矩阵daisy
之外cluster
的所有变量。据我所知,daisy
是唯一能够从混合变量计算相异矩阵的函数。接下来,我会将刚刚生成的相异矩阵传递给pam
并计算各种集群配置的轮廓宽度。为了缩短计算时间,尤其是对于大型群体,我将最大数量的集群设置为群体中个体数量的三分之一。此时,我希望函数获取与最佳聚类数对应的 SW 值(通过查看最大轮廓宽度值确定)并将其与相应的组 id 一起粘贴到data.frame
- 这里称为aswout
.
不幸的是,该功能似乎无法正常工作(我只在第一组上尝试过),而且我不清楚如何让它在所有组中“循环”。
我希望这个问题很清楚。如果有不明白的地方写下来,我会补充更多信息。我真的很感谢在这方面的任何帮助!
一切顺利,里卡多
编辑:
该ASW
功能现在有效。我试图让它在数据框中的所有组中循环。我从另一篇文章中了解到,将data.frame
s 包含在随着函数执行而增长的函数中是一个坏习惯。然而,这是我的目标aswout
data.frame
。我现在正在寻找一种方法来实现相同的结果,让函数在组上循环并给我一个输出data.frame
,而不包括data.frame
函数内的。
r - 使用 data.table 对组执行功能并将结果报告到另一个 data.table
我有以下内容data.table
,其中包含group
个人和一些描述他们的特征
对于每个组,我想运行以下功能
[请注意,由于不接受s,因此在内部ASW
使用s 有效] 正如您所看到的,该函数作为结果生成 vector 。鉴于此函数将应用于 中的每个组,它将产生与组数相等的向量。作为全局结果,我想生成另一个(甚至另一个也可以),其中包含所有一起编辑的向量。我怎样才能做到这一点?我在下面的尝试显示了如何将该函数应用于每个组,但我不知道如何将所有“部分结果”存储到另一个表中。data.frame
daisy
data.table
swg
dt
data.table
data.frame
swg
rbind
希望问题很清楚。非常感谢您的帮助!里卡多
r - Daisy 函数警告消息:强制引入的 NA
我正在尝试从 R 中的 CRAN 的 Cluster 包中将 a 转换data.frame
为daisy
矩阵。我有一个包含 13109 个观测值的数据集,其中包含 9 个分类变量。
我得到了两种关于NA
s 被强制引入的错误,并且没有丢失 min/max 的参数。为什么我会收到此错误?
我NA
在data.frame
. 这是关于我的数据集的信息:
这是强制值的证明NA
:我尝试执行PAM
聚类功能,但收到错误提示NA
值不允许。
如果我能提供更多信息,请告诉我。
编辑:我解决了我的错误。我在.csv
文件中读取为character
. 这就是它与其他数据集一起工作的原因。这是我出错的地方:
解决方案:
python - R 的 cluster 包中的 daisy() 的 Python 等价物
我有一个包含分类(名义和有序)和数字属性的数据集。我想使用这些混合属性在我的观察中计算(不)相似度矩阵。使用 R 中 cluster 包的daisy()函数,我可以很容易地得到一个相异矩阵,如下所示:
这使用 gower 度量来处理名义变量。是否有与daisy()
R 中的函数等效的 Python?
或者任何其他允许使用 Gower 度量或类似方法来计算具有混合(名义、数字)属性的数据集的(不)相似度矩阵的任何其他模块函数?
r - 根据 R 中的集群聚合序数和二进制数据
我使用带有 R 的包进行了 k-medoid 聚类分析CRAN cluster
。数据位于一个data.frame
名为 df4 的 13111 obs 上。11 个二进制和序数值。聚类后,我将聚类结果应用于原始data.frame
显示相应的聚类编号到用户 ID。
如何根据集群聚合二元和序数选择?
例如,Gender
变量具有男性/女性值,Age
范围为“18-20”、“21-24”、“25-34”、“35-44”、“45-54”、“55-64”和“ 65+”。我想要变量Gender
和类别中每个集群的男性和女性值的总和Age
。
这是我的带有集群标签列的 data.frame 的头部:
这是一个类似于我的数据集的可重现示例:
期望的输出结果(假设):
让我知道我是否可以提供更多信息。
r - R - 如何在非常大的数据集上加快欧几里得距离计算
社区,
我有一个非常大的数据集,其中包含 3 列坐标(x、y、z)和 24 x 10^6 行。我需要计算所有行与第一行之间的欧几里得距离,即 0、0、0。下面的循环需要很长时间!我也在矩阵而不是数据框上尝试过这个,但这并没有解决问题。
有没有人有加快这个过程的建议?