【发布时间】:2020-05-09 09:54:09
【问题描述】:
如果我尝试运行下面的代码来获取我的聚类结果的摘要,我会收到以下错误:
Error in UseMethod("mutate_") : no applicable method for 'mutate_' applied to an object of class "table"
如果 dat_ 是数据框,则此代码有效,但如果是表,则会收到上述错误消息。有没有人有办法解决吗?
pam_fit <- pam(gower_dist, diss = TRUE, k) # performs cluster analysis
pam_results <- dat %>%
mutate(cluster = pam_fit$clustering) %>%
group_by(cluster) %>%
do(the_summary = summary(.))
pam_results$the_summary
样本数据集:
set.seed(1)
dat <- data.frame(ID = rep(sample(c("a","b","c","d","e","f","g"),10,replace = TRUE),70),
disease = sample(c("flu","headache","pain","inflammation","depression","infection","chest pain"),100,replace = TRUE))
dat <- unique(dat)
dat2 <- table(dat)
dat3 <- as.data.frame(dat)
【问题讨论】:
-
当然,您可以使用
as.data.frame(dat),但请确保您在此传输过程中没有丢失任何内容,尤其是列名。 -
不幸的是,这给出了另一个错误:mutate_impl(.data, dots) 中的错误:列
cluster的长度必须为 707851(行数)或一个,而不是 1783 -
来自here
length(pam_fit$clustering)=nrow(college_clean)。因此,请确保nrow(dat)等于length(pam_fit$clustering) -
是的,正如我所说,
length(pam_fit$clustering)不等于nrow(dat3),因此mutate会出错。你需要找到一种方法来加入这两件事。
标签: r cluster-analysis dplyr