R 源代码中运行的代码不';t变换图

R 源代码中运行的代码不';t变换图,r,R,我在源代码中运行这些代码行,然后在Rstudio中单击“运行” fill_colors <- c() for(i in 1:length(hotdogs$Country) ) { if (hotdogs$Country[i] == "United States") { fill_colors <- c(fill_colors, "#821122") } else { fill_colors <- c(fill_colors, "cccccc") }

我在源代码中运行这些代码行,然后在Rstudio中单击“运行”

fill_colors <- c()
for(i in 1:length(hotdogs$Country) ) {
  if (hotdogs$Country[i] == "United States") {
    fill_colors <- c(fill_colors, "#821122")
  } else {
    fill_colors <- c(fill_colors, "cccccc")
  }
}
fill_colors如果您符合以下要求:

我怀疑你没有在它后面直接运行线路,即:

barplot(hotdogs$Dogs.eaten, names.arg=hotdogs$Year, col=fill_colors, 
        border=NA, xlab="Year", ylab="Hot dogs and buns (HDB) eaten")

仅运行您给定的行将生成向量
fill\u colors
,但您需要将其用作
barplot
fill
的参数,我假设您在创建绘图时使用了
fill\u colors
,现在正在重新定义
fill\u colors
向量

R中的绘图不会像Excel等其他应用程序(例如,在自动调用模式下)中那样动态链接到数据。因此,您需要使用新的
填充颜色
重新创建绘图,因为它不会自行更新

此外,您可能会发现
ifelse
很有用。上面的代码可以写成:

fill_colors <- ifelse(hotdogs$Country == "United States", "#821122", "cccccc") 

完全正确的填充颜色。我需要将fill_color作为参数传递给barplot()。一旦我这么做了,一切都正常了。非常感谢。