Иерархическая кластеризация: должно быть n> = 2 объектов для кластеризации в r - PullRequest
0 голосов
/ 29 июня 2018

Я следую этому руководству , используя readxl для вставки моих данных . Я хочу использовать иерархическую кластеризацию для группировки исследований, и есть 12 наблюдений. В некоторых исследованиях отсутствуют данные, а в некоторых исследованиях вообще нет данных. Итак, следуя инструкции:

> df <-read_excel("MDO.xlsx")
> df <- na.omit(df)
> df <- scale(df)
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
> d <- dist(df, method = "euclidean")
Warning message:
In dist(df, method = "euclidean") : NAs introduced by coercion
> hc1 <- hclust(d, method = "complete" )
Error in hclust(d, method = "complete") : 
 must have n >= 2 objects to cluster

Я довольно плохо знаком с R и никогда раньше не использовал кластеризацию, поэтому не знаю точно, как исправить эти ошибки

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте это:

# Read data:
library(readxl)
df <- read_excel("MDO.xlsx")
# Convert to data.frame
df <- as.data.frame(df)
# Remove rows when all is na
df <- df[!apply(is.na(df[, -1]), 1, all),]
# Scale the columns
df[, -1] <- apply(df[, -1], 2, scale)
# Distance and cluster
d <- dist(df, method = "euclidean")
hc1 <- hclust(d, method = "complete" )
plot(hc1)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...