1

ソースでこれらのコード行を実行してから、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")
  }
}

コードはコンソールに渡されますが、何らかの理由でプロットは変更されません。

なぜですか?

4

2 に答える 2

2

http://www.cs.odu.edu/~mweigle/cs795/barchart-r.htmlをフォローしている場合:

直後に行を実行していないと思われます。つまり、次のようになります。

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

指定した行のみを実行するとベクトルが生成されますが、それをinfill_colorsのパラメーターとして使用する必要があります。fillbarplot

于 2012-12-19T03:14:19.983 に答える
1

fill_colorsプロットを作成したときに以前に使用したと仮定し、現在はfill_colorsベクトルを再定義しています。

Rのプロットは、たとえばExcelなどの他のアプリケーション(自動リコールモード)の場合のように、データに動的にリンクされません。fill_colorsしたがって、新しいプロットはそれ自体では更新されないため、新しいプロットを使用してプロットを再作成する必要があります。

また、あなたはifelse役に立つかもしれません。上記のコードは、次のように記述できます。

fill_colors <- ifelse(hotdogs$Country == "United States", "#821122", "cccccc") 
于 2012-12-19T03:15:02.507 に答える