4

良い一日!

私はRにあまり詳しくないので、少し助けていただければ幸いです。

次の最小限の例があると仮定します。

test <- c(10,20,40,80,80)
avg <- mean(test)
avg <- format(avg,digits=2)

plot(test, xlab="x", ylab="y", pch = 4)
legend("topleft", legend= c("Average: ", avg))

「平均」の代わりにx̄を書きたいのですが、これは通常の記号ではないので、イベントが可能かどうか疑問に思います。単に2つの組み合わせ(文字と上線)です。

私が取り除きたいもう1つのことは、「平均」という単語の後の改行です(下の図の矢印を参照)。

出力

4

1 に答える 1

8

ここには2つの問題があります。1つ目は、これが?plotmathRで使用して処理されることです。探している演算子はですbar()。これは関数ではなくplotmath、理解するマークアップです。

avg2つ目は、その値に変換される式が必要なことです。式が必要なのは、それがplotmath機能するからです。この問題にはいくつかの解決策がありますが、以下で使用するのはbquote()です。式を指定すると、ラップされたものはすべて.( )、内のものを評価することによってその値に変換されます.( )

これがあなたのコードと適切に修正されたlegend()呼び出しです:

test <- c(10,20,40,80,80)
avg <- mean(test)
avg <- format(avg,digits=2)

plot(test, xlab="x", ylab="y", pch = 4)
legend("topleft", legend = bquote(bar(x)*":" ~ .(avg)))

これにより、にあるものが正確に挿入されることに注意してくださいavg。あなたがする必要があるかもしれません

avg <- round(avg)

または、他のフォーマットを修正して、見栄えのするものを作成します。

于 2012-11-12T14:02:02.513 に答える