1

データ フレームを組み込む R スクリプトを作成しています。データ フレームの外観は次のとおりです。

mydf <= read.csv('file', header = TRUE, sep=",")

mydf
....Prod  Date                   AVG
189 CA123 2012/07/24 14:32:35   0.2424     0.22     0.25     0.27
190 JK489 2012/08/25 18:29:08   0.2402     0.22     0.25     0.27
191 CA15K 2012/07/24 13:49:07   0.2427     0.22     0.25     0.27
192 JA45A 2012/07/22 02:32:40   0.2455     0.22     0.25     0.27
193 JA3HS 2012/07/24 22:26:25   0.2410     0.22     0.25     0.27
194 CA429 2012/08/28 10:36:16   0.2351     0.22     0.25     0.27
195 JK345 2012/07/25 07:11:24   0.2419     0.22     0.25     0.27
...

このコードを使用してデータをプロットしています。

plot(Date,mydf$AVG,xlab='Date',ylab='AVG',main='title')
legend("topright", legend = c(" "," "), text.width = strwidth("1,000,000"), lty = 1:2, xjust = 1, yjust = 1, title = "Prods")

プロットは正常に機能していますが、凡例の書式を設定できません。私がやりたいことは、各 Prod をグラフ上の異なる色のデータ ポイントとして表示する凡例を右上に配置することです。ただし、Prod も切り詰める必要があり、列の最初の 2 文字としてのみカウントされます。

「mydf$Prod」を実行することですべての変数にアクセスできることはわかっていますが、そのフレーム参照内の各項目を 2 文字だけに切り詰める方法はありますか。ラウンドを使用してみましたが、数学演算を実行できません。これは理にかなっています。

これらの変数を切り捨てて、切り捨てられた形式のまま凡例に貼り付ける方法はありますか。Prod は常に変化しているため、凡例は動的である必要があり、別のファイルでスクリプトを実行します。

1 つ追加の項目:理想的には、これを標準ライブラリだけで実行したいと考えています。私が作成しているグラフは単純なので、現在ggplotやその他のグラフ作成ライブラリを使用していません。

4

1 に答える 1

3

これを試して:

mydf$Labels = substr(mydf$Prod, 1, 2)
f = factor(mydf$Labels)
l = levels(f)
plot(mydf$Date, mydf$Avg, xlab="Date", ylab="Avg", col=f)
legend("topright", legend = l, fill = 1:length(l), title = "Prods")
于 2012-10-18T19:20:38.993 に答える