首页 > 解决方案 > 在r中的for循环内绘制多个图

问题描述

我正在尝试在 r 中的 for 循环中进行绘图,这在 python 中是一项非常简单的任务。我想要 3 个基于参数的图,该参数采用 3 个不同的值。

我的代码


clust <- list(3,4,5)

for (i in clust)

set.seed(42)
k_clust = kmeans(
  college_scaled,
  centers = i,
  nstart = 25
  )

fviz_cluster(
  k_clust,
  data = college_scaled,
  main = "Colleges Segmented by Average Faculty Salary and Tuition Rates",
  geom= c("point","text"),
  labelsize= 8,
  pointsize= 1,
  ggtheme= theme_minimal()
)

出于某种原因,这仅绘制centers = 5而不是遍历循环并绘制 3,4 和 5。这是为什么呢?

标签: r

解决方案


我没有college_scaled数据来复制您的代码,因为块不包括k_clustfviz_cluster命令。添加{,}以保持两者都在循环中:

clust <- list(3,4,5)

for (i in clust)
{  
  set.seed(42)
k_clust = kmeans(
  college_scaled,
  centers = i,
  nstart = 25
)

print(
  fviz_cluster(
    k_clust,
    data = college_scaled,
    main = "Colleges Segmented by Average Faculty Salary and Tuition Rates",
    geom= c("point","text"),
    labelsize= 8,
    pointsize= 1,
    ggtheme= theme_minimal()
  )
)
}

编辑:在评论中的提醒中添加了基于打印的starja


推荐阅读