如何在 R 的摘要输出中查看隐藏在 "Other" 下的元素?
How to see the elements hiding under "Other" in the output of a summary in R?
我正在使用以下数据集对分类数据执行聚类分析 - link to data set - 在 R 中使用以下包:
library(cluster)
library(dplyr)
library(ggplot2)
library(readr)
使用以下代码,我可以观察到 5 个集群中的客户概况(注意:我选择 5 个集群而不是 7 个或 8 个集群,以使事情或多或少保持简单):
df.torun <- subset(df.bank, select = -c(loan, contact, day, month, duration, campaign, pdays, previous, poutcome, y))
gower_dist <- daisy(df.torun, metric = "gower")
gower_mat <- as.matrix(gower_dist)
sil_width <- c(NA)
for(i in 2:8){
pam_fit <- pam(gower_dist, diss = TRUE, k = i)
sil_width[i] <- pam_fit$silinfo$avg.width
}
plot(1:8, sil_width,
xlab = "Number of clusters",
ylab = "Silhouette width")
lines(1:8, sil_width)
k <- 5
pam_fit <- pam(gower_dist, diss = TRUE, k)
pam_results <- df.torun %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(.))
pam_results$the_summary
如果您 运行 此脚本使用我共享的数据,您将能够看到有关以下类别的客户个人资料的大量信息:年龄、工作、婚姻、教育、违约、平衡和住房。这是我为集群 1 获得的结果的屏幕截图:
Results I get for cluster 1
如上图所示,在 job 列下,部分结果“隐藏”在类别 (Other) 下。
我的问题:我可以使用什么代码来列出 job 列中“隐藏”在(其他)?
非常感谢您的帮助!
您可以使用 maxsum=
。 示例:
d <- data.frame(x=gl(10, 5), y=rnorm(50))
summary(d)
# x y
# 1 : 5 Min. :-1.7459
# 2 : 5 1st Qu.:-0.8480
# 3 : 5 Median :-0.2293
# 4 : 5 Mean :-0.1439
# 5 : 5 3rd Qu.: 0.4109
# 6 : 5 Max. : 2.5951
# (Other):20
summary(d, maxsum=11)
# x y
# 1 :5 Min. :-1.7459
# 2 :5 1st Qu.:-0.8480
# 3 :5 Median :-0.2293
# 4 :5 Mean :-0.1439
# 5 :5 3rd Qu.: 0.4109
# 6 :5 Max. : 2.5951
# 7 :5
# 8 :5
# 9 :5
# 10:5
感谢@jay.sf,我得以找到解决方案。我包含了 maxsum=
参数,如下所示(注意:我使用了 12,因为这是变量的级别数):
pam_fit <- pam(gower_dist, diss = TRUE, k)
pam_results <- df.torun %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(., maxsum = 12))
pam_results$the_summary
我正在使用以下数据集对分类数据执行聚类分析 - link to data set - 在 R 中使用以下包:
library(cluster)
library(dplyr)
library(ggplot2)
library(readr)
使用以下代码,我可以观察到 5 个集群中的客户概况(注意:我选择 5 个集群而不是 7 个或 8 个集群,以使事情或多或少保持简单):
df.torun <- subset(df.bank, select = -c(loan, contact, day, month, duration, campaign, pdays, previous, poutcome, y))
gower_dist <- daisy(df.torun, metric = "gower")
gower_mat <- as.matrix(gower_dist)
sil_width <- c(NA)
for(i in 2:8){
pam_fit <- pam(gower_dist, diss = TRUE, k = i)
sil_width[i] <- pam_fit$silinfo$avg.width
}
plot(1:8, sil_width,
xlab = "Number of clusters",
ylab = "Silhouette width")
lines(1:8, sil_width)
k <- 5
pam_fit <- pam(gower_dist, diss = TRUE, k)
pam_results <- df.torun %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(.))
pam_results$the_summary
如果您 运行 此脚本使用我共享的数据,您将能够看到有关以下类别的客户个人资料的大量信息:年龄、工作、婚姻、教育、违约、平衡和住房。这是我为集群 1 获得的结果的屏幕截图:
Results I get for cluster 1
如上图所示,在 job 列下,部分结果“隐藏”在类别 (Other) 下。
我的问题:我可以使用什么代码来列出 job 列中“隐藏”在(其他)?
非常感谢您的帮助!
您可以使用 maxsum=
。 示例:
d <- data.frame(x=gl(10, 5), y=rnorm(50))
summary(d)
# x y
# 1 : 5 Min. :-1.7459
# 2 : 5 1st Qu.:-0.8480
# 3 : 5 Median :-0.2293
# 4 : 5 Mean :-0.1439
# 5 : 5 3rd Qu.: 0.4109
# 6 : 5 Max. : 2.5951
# (Other):20
summary(d, maxsum=11)
# x y
# 1 :5 Min. :-1.7459
# 2 :5 1st Qu.:-0.8480
# 3 :5 Median :-0.2293
# 4 :5 Mean :-0.1439
# 5 :5 3rd Qu.: 0.4109
# 6 :5 Max. : 2.5951
# 7 :5
# 8 :5
# 9 :5
# 10:5
感谢@jay.sf,我得以找到解决方案。我包含了 maxsum=
参数,如下所示(注意:我使用了 12,因为这是变量的级别数):
pam_fit <- pam(gower_dist, diss = TRUE, k)
pam_results <- df.torun %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(., maxsum = 12))
pam_results$the_summary