我的 for 循环中总是出现语法错误?

I keep getting a syntax error in my for loop?

我不确定这个循环的子集有什么问题,但我一直收到语法错误:

for (i in 1:length(wc_comp$Section)) {
  print(ggplot(data = (subset(wc_comp, Section == [i]))) +
          geom_jitter(aes(x = Headline, y = Word.Count, color=cols), size=5, width = 0.05) +
          stat_summary(aes(x = Headline, y = Word.Count, group = Article[i]),
                       fun = median, fun.min = median, fun.max = median,
                       geom = "crossbar", color = "black", width = 0.7, lwd = 0.2) +
          ylim(min(wc_comp$Word.Count), max(wc_comp$Word.Count)) +
          xlab("Story") +
          ylab ("Word Count") +
          ggtitle([i]) +
          theme(plot.title=element_text(hjust=0.5, face = "bold", size = 10),
                text = element_text(family = "System Font"),axis.text.x = element_text(size=6)) +
          scale_x_discrete(labels = function(x) str_wrap(x, width = 10)))
}

您在两个地方使用语法 [i] 来引用循环变量 i,这导致了语法错误。删除第 2 行和第 10 行的 [ ] 可解决问题:

for (i in 1:length(wc_comp$Section)) {
  print(ggplot(data = (subset(wc_comp, Section == i))) +
          geom_jitter(aes(x = Headline, y = Word.Count, color=cols), size=5, width = 0.05) +
          stat_summary(aes(x = Headline, y = Word.Count, group = Article[i]),
                       fun = median, fun.min = median, fun.max = median,
                       geom = "crossbar", color = "black", width = 0.7, lwd = 0.2) +
          ylim(min(wc_comp$Word.Count), max(wc_comp$Word.Count)) +
          xlab("Story") +
          ylab ("Word Count") +
          ggtitle(i) +
          theme(plot.title=element_text(hjust=0.5, face = "bold", size = 10),
                text = element_text(family = "System Font"),axis.text.x = element_text(size=6)) +
          scale_x_discrete(labels = function(x) str_wrap(x, width = 10)))
}