/ /頻度カウントのあるテーブルからRを使用して円グラフとヒストグラムをプロット-r、プロット、ヒストグラム、円グラフ、頻度

頻度カウント-r、プロット、ヒストグラム、円グラフ、頻度のテーブルからRを使用して円グラフとヒストグラムをプロットする

次の形式のcsvファイルとして、Javaプログラムからの出力として配布頻度があります。

push 210
mov 270
jmp 150
cp 190
..so on

私はRにかなり慣れていません。次の画像のように、それをテーブルに入力し、円グラフやヒストグラムとして投影して、ラベルと%の視覚的表現を持たせたいと思います。

http://i.stack.imgur.com/qHNss.png

私は検索して読んだところ、それが何かに沿っていることを知っています。

myfile <- read.csv("sample.csv", sep="/t");
myfreq <- table(myfile);
pie(myfreq);
hist(myfreq);

知っている table(myfile) 頻度分布を与えるが、それはそれをそのまま使用する代わりに頻度を数える。

回答:

回答№1は2
  • 例の入力ファイルを使用すると、ロードするときに、指定する必要があります header=F ヘッダーがないからです。
  • ロードするとき、あなたは必要です sep="t" タブ区切りを使用します。
  • table() は頻度をカウントしますが、入力データには既に頻度があるため、ここで呼び出す必要はありません。
  • スライスにパーセンテージでラベルを付けることはできますが、スライスを自分で計算して、 labels の議論 pie().

dat <- read.csv("sample.csv", sep="t", header=F, col.names=c("inst","freq") );
dat;
##   inst freq
## 1 push  210
## 2  mov  270
## 3  jmp  150
## 4   cp  190
cols <- rainbow(nrow(dat));
pie(dat$freq,labels=paste0(round(dat$freq/sum(dat$freq)*100,2),"%"),col=cols);
legend("bottom",legend=dat$inst,pch="■",ncol=nrow(dat),bty="n",col=cols);

パイ