我有一个包含分类(名义和序数)和数字属性的数据集.我想使用这些混合属性在我的观察中计算(dis)相似性矩阵.使用R中集群包的daisy()函数,我可以很容易地获得如下的相异矩阵:
if(!require("cluster")) { install.packages("cluster"); require("cluster") }
data(flower)
as.matrix(daisy(flower, metric = "gower"))
Run Code Online (Sandbox Code Playgroud)
这使用gower度量来处理名义变量.是否有一个Python相当于daisy()
R 中的函数?
或者也许任何其他模块函数允许使用Gower指标或类似的东西计算具有混合(名义,数字)属性的数据集的(dis)相似性矩阵?
今天我已经意识到包装中的silhouette
图形cluster
无法正确显示RStudio
.Google搜索显示其他人遇到此问题:
http://support.rstudio.org/help/discussions/problems/3094-plotsnot-showing-up-in-r-studio
作为R的新手,我不清楚这个问题是否已在这个问题得到解决!所以我的问题是:有没有办法让silhouette
情节正确显示RStudio
?
谢谢你的帮助.
示例脚本:
library(cluster)
data(xclara)
km <- kmeans(xclara,3)
dissE <- daisy(xclara)
sk <- silhouette(km$cl, dissE)
plot(sk)
Run Code Online (Sandbox Code Playgroud) 尝试data.frame
使用R 中包中的daisy
函数将具有数字、名义和 NA 值的 a 转换为相异矩阵cluster
。我的目的涉及在应用 k 均值聚类进行客户细分之前创建相异矩阵。将data.frame
有133153行和36列。这是我的机器。
sessionInfo()
R version 3.1.0 (2014-04-10)
Platform x86_64-w64-mingw32/x64 (64-bit)
Run Code Online (Sandbox Code Playgroud)
如何修复雏菊警告?
由于 Windows 计算机有 3 Gb RAM,我将虚拟内存增加到 100GB,希望这足以创建矩阵 - 它不起作用。我仍然有一些关于内存的错误。我研究了其他 R 包来解决内存问题,但它们不起作用。我不能bigmemory
与biganalytics
包一起使用,因为它只接受数字矩阵。在clara
和ff
包也只接受数字矩阵。
CRAN 的cluster
包建议在应用 k 均值之前将高尔相似系数作为距离度量。高尔系数采用数字、名义和 NA 值。
Store1 <- read.csv("/Users/scdavis6/Documents/Work/Client1.csv", head=FALSE)
df <- as.data.frame(Store1)
save(df, file="df.Rda")
library(cluster)
daisy1 <- daisy(df, metric = "gower", type = list(ordratio = c(1:35)))
#Error in daisy(df, metric = "gower", type …
Run Code Online (Sandbox Code Playgroud) 我想从数据框创建一个带有加权欧几里得距离的距离矩阵。权重将在向量中定义。下面是一个例子:
library("cluster")
a <- c(1,2,3,4,5)
b <- c(5,4,3,2,1)
c <- c(5,4,1,2,3)
df <- data.frame(a,b,c)
weighting <- c(1, 2, 3)
dm <- as.matrix(daisy(df, metric = "euclidean", weights = weighting))
Run Code Online (Sandbox Code Playgroud)
我到处搜索,在 R 中找不到一个包或解决方案。“集群”包中的“雏菊”函数声称支持加权,但权重似乎没有被应用,它只是吐出来普通欧几里得。距离。
任何想法堆栈溢出?
我有一个包含混合数据类型(整数、字符和逻辑)的数据框,我试图将其与 daisy 进行聚类。
我在用着:
gower_dist <- daisy(relchoice, metric = "gower")
Run Code Online (Sandbox Code Playgroud)
并得到:
Error in daisy(relchoice, metric = "gower") :
invalid type character for column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16,
21, 29, 31, 32invalid type character for column numbers 3, 4, 5, 7, 8, 10,
13, 14, 15, 16, 21, 29, 31, 32invalid type character for column numbers 3,
4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31, 32invalid type character for
column …
Run Code Online (Sandbox Code Playgroud)