У меня есть несколько фреймов данных (полные данные и сокращенные данные), и теперь я хочу провести большой анализ с помощью kmeans и hclust. Я хочу иметь возможность работать в цикле и сохранять результаты в списке, где я могу получить (части) сохраненных объектов на основе их имен. Причина в том, что в R-Markdown нет хорошего способа создания новых объектов (и нет, назначение не является хорошим вариантом для этого).
Идея в том, что я создаю несколько kmeans-объектов в цикле for на нескольких фреймах данных и помещаю их в список. Но я не могу хранить их таким образом, чтобы я мог назвать эти объекты. В моем списке все загромождено. Смотрите мой пример.
Чтобы получить (части) объект нужного списка, у меня есть проблемы, как обратиться к этим частям (см. Мою последнюю часть)
set.seed(4711)
df <- data.frame(matrix(sample(0:6, 120, replace = TRUE), ncol = 15, nrow = 8))
list_of_kmeans_objects <- list()
for (i in 2:4){
list_of_kmeans_objects <- c(list_of_kmeans_objects, kmeans(df, centers = i))
}
Теперь у меня есть загроможденный список из 36 предметов. Но то, что я хочу, это список с «элементами», которые я также хочу назвать. Мой желаемый список будет:
C2_kmeans_df <- kmeans(df, centers = 2)
C3_kmeans_df <- kmeans(df, centers = 3)
C4_kmeans_df <- kmeans(df, centers = 4)
desired_list_of_kmeans <- list(C2_kmeans_df, C3_kmeans_df, C4_kmeans_df, C5_kmeans_df)
names(desired_list_of_kmeans)[1] <- "C2_kmeans_df"
names(desired_list_of_kmeans)[2] <- "C3_kmeans_df"
names(desired_list_of_kmeans)[3] <- "C4_kmeans_df"
Если у меня должен быть этот список, моя последняя проблема - как мне извлечь, например,
C3_kmeans_df$cluster #or
C4_kmeans_df$tot.withinss
из этого списка, используя имена объектов в нужном списке?