1

私はテーブルを持っています:y

           1            2            3            4            5            6 
0.2414412019 0.5032905670 0.1956391677 0.0422788008 0.0081100844 0.0015289503 
           7            8            9           15           20           24 
0.0003323805 0.0001329522 0.0001994283 0.0000664761 0.0000664761 0.0000664761 
          26           27           28           29           30           38 
0.0009971415 0.0007312371 0.0023266636 0.0010636176 0.0004653327 0.0001329522 
          39           40           41           42 
0.0001994283 0.0005318088 0.0003323805 0.0000664761 

is.table(y)
[1] TRUE

もともと、プロットを作成したい場合は、次のように単純に plot(y) を実行できました。 ここに画像の説明を入力

ただし、このプロットに別の曲線を追加したいと思いdpois(1:42, lambda = 10)ます。そして、matplot を使用してスケールを保持したいと思います。しかし、y はベクトルではなくテーブルであるため、matplot を使用して問題を解決する方法がわかりません。par(new = T) blablabla は使用したくありません。スケールが常に保持されるとは限らず、長さが異なる多くのテーブルで作業しているためです。

注:私の目標は、上記のプロットを再現することです (垂直線を保持する必要があります。ヒストグラムやバーは必要ありません。つまり、テーブル構造をy保持できるようにしたいと考えています)。同じグラフに曲線を追加します。Rでこれを達成するためにmatplotまたは他の関数を使用できますか?

以下のデータ構造

dput(y)
structure(c(0.241441201887921, 0.503290567041149, 0.195639167719205, 
0.0422788007711228, 0.00811008442464934, 0.00152895034235192, 
0.00033238050920694, 0.000132952203682776, 0.000199428305524164, 
6.6476101841388e-05, 6.6476101841388e-05, 6.6476101841388e-05, 
0.00099714152762082, 0.000731237120255268, 0.00232666356444858, 
0.00106361762946221, 0.000465332712889716, 0.000132952203682776, 
0.000199428305524164, 0.000531808814731104, 0.00033238050920694, 
6.6476101841388e-05), class = "table", .Dim = 22L, .Dimnames = structure(list(
    c("1", "2", "3", "4", "5", "6", "7", "8", "9", "15", "20", 
    "24", "26", "27", "28", "29", "30", "38", "39", "40", "41", 
    "42")), .Names = ""))
4

1 に答える 1

2

これはあなたが探しているものですか?

ここに画像の説明を入力

その場合は、追加するだけですlines(dpois(1:42, lambda = 10))。あれは:

y = dput(structure(c(0.241441201887921, 0.503290567041149, 0.195639167719205, 
            0.0422788007711228, 0.00811008442464934, 0.00152895034235192, 
            0.00033238050920694, 0.000132952203682776, 0.000199428305524164, 
            6.6476101841388e-05, 6.6476101841388e-05, 6.6476101841388e-05, 
            0.00099714152762082, 0.000731237120255268, 0.00232666356444858, 
            0.00106361762946221, 0.000465332712889716, 0.000132952203682776, 
            0.000199428305524164, 0.000531808814731104, 0.00033238050920694, 
            6.6476101841388e-05), class = "table", .Dim = 22L, .Dimnames = structure(list(
              c("1", "2", "3", "4", "5", "6", "7", "8", "9", "15", "20", 
                "24", "26", "27", "28", "29", "30", "38", "39", "40", "41", 
                "42")), .Names = "")))

windows()
  plot(y)
  lines(dpois(1:42, lambda=10))

詳細については、 ?linesを参照してください。

于 2013-08-31T23:26:44.330 に答える