2016-08-04 5 views
-3
set.seed(2) 
x = c(1, rnorm(100, 15, 5)) 
y = c(1, rnorm(100, 15, 5)) 

plot(x, y, log = "xy") 
plot(log(x), log(y)) 

関数でlog -argumentを使用したときの違いは何ですか。変数を最初に変換してからプロットします。 Hierはplot(x, y, log = "xy")のプロットです。R:ログ軸スケールと手動ログ変換の違い?

そしてplot(log(x), log(y))enter image description here

enter image description hereは、誰かがlog -argumentが正確に何をするのか私に説明できますか?ありがとうございました。

+3

私は意味...ちょうどあなたの二つのグラフを比較します。ヒント:軸を見てください。 –

+0

申し訳ありませんが、私の質問が悪いと感じたらしかし、私のことを信じてください。それはあなたには分かりますが、私には分かりません。 –

+0

私が理解していないのは軸です。プロット(log(x)、log(x))では、x軸とy軸の値は正確にlog(x)とlog(y)の値になります。しかし、なぜlog = "xy"のプロットの値が違うのですか? –

答えて

2

ログプロットの場合、データを変更する必要はありません。これは表示の問題ですので、データをさらに処理することができます。ただ、一例として:

set.seed(2) 
x = c(1, rnorm(100, 15, 50)) 
y = c(1, rnorm(100, 15, 50)) 

plot(x, y, col = "black", 
    log = "xy", xaxt = "n", yaxt = "n",) 

# Labels... 
at.y <- outer(1:9, 10^(log10(1):log10(100))) 
lab.y <- ifelse(log10(at.y) %% 1 == 0, 
       sapply(at.y, function(i) 
        as.expression(bquote(10^.(log10(i)))) 
       ), NA) 
axis(2, at = at.y, labels = lab.y, las = 1) 

at.x <- outer(1:9, 10^(0:log10(100))) 
lab.x <- ifelse(log10(at.x) %% 1 == 0, 
       sapply(at.x, function(i) 
        as.expression(bquote(10^.(log10(i)))) 
       ), NA) 
axis(1, at = at.x, labels = lab.x, las = 1) 
grid (NULL,NULL, lty = 6, col = "cornsilk2") 

結果:

enter image description here

+0

まずはお返事ありがとうございます。私が正しく理解していることを確認できればいいと思う:すべての基底の対数スケールのプロットが同じに見えるので(軸上の値を除いて)、Rは単純に10 ^の値をプロットする(...))を軸に表示します。そしてそれが、インスタンス1-5と5-10の距離が同じではない理由です。 –

+2

私は確信が持てません:スケールはログで、データではないと言います。それはそれについてです。しかし、はい、ログスケールプロットでは、ダニは "線形に分布していません" ...私はそれが助けてくれることを願っています。 – Christoph

関連する問題