2011-07-11 17 views
6

私はF1/F2母音グラフ(an example is here)を描いています。各母音は、いくつかの点/値を持っている、と私はなるように、ポイントの周りに楕円を描きたいのですが:。与えられたポイントの割合を含む楕円R

  • 楕円ポイント(すなわち、少なくとも80%をカバーして上の写真に「i」は、いくつか持っています値は楕円内に含まれています)。
  • は、最小/最大値の方向に配置されます。

私は物事を複雑にしているかもしれませんが、三角法と数学は私にとってギリシャ語です。以下は私が試したことです。

Ellipsoidhullは()

Ellipsoidhull()パッケージパッケージ "クラスタ" です。 F1とF2の行列に関数を渡すと、楕円の中心が計算されるように見えますが、方向の値は膨大です。

> olm 
     ol.f1 ol.f2 # f1/f2 data 
[1,] 501.3 850.5 
[2,] 488.5 906.5 
[3,] 456.3 857.0 
[4,] 505.8 895.3 
[5,] 499.5 898.0 
[6,] 431.8 891.5 
[7,] 416.3 870.5 
[8,] 506.0 887.8 
[9,] 500.3 985.8 
[10,] 513.5 955.3 
[11,] 531.5 958.0 
[12,] 483.0 847.3 
[13,] 533.3 982.8 
[14,] 480.8 881.8 
[15,] 484.3 884.5 

ellipsoidhullに渡された場合:たとえば

> ellipsoidhull(olm) 
'ellipsoid' in 2 dimensions: 
center = (480.69 904.33); squared ave.radius d^2 = 2 
and shape matrix = 
     ol.f1 ol.f2 
ol.f1 2115.5 1449.5 
ol.f2 1449.5 3558.2 
    hence, area = 14636 

私は楕円を描画する方法を把握するのは難しいことではないだろうと思いますが、「形状行列」(最大/最小半径値?)が高すぎます。 Btw、Freednodeの#Rのおかげでヒント。

その後EMU-Rから

ソースコードは、私は、とりわけ、とF1/F2を描くことができますEMUと連携EMU-R、Rパッケージのコードに外観を撮影しました楕円体。そのようなコードはhereですが、私は楕円がどのように描かれているのか分かりません。

助けてください。あなたのデータを持つので

答えて

12
require(car) 
x=rnorm(100) 
y=1+.3*x+.3*rnorm(100) 
dataEllipse(x,y, levels=0.80) 

with(olm ,dataEllipse(ol.f1, ol.f2, levels=0.8)) 

別のパッケージ、mixtools、同様の機能を持っていますが、アルファレベルではなく、1-αを使用しています:

オーバーレイう
mu <- with(olm, c(mean(ol.f1), mean(ol.f2))) 
sigma <- var(olm) # returns a variance-covariance matrix. 
sigma 
#   ol.f1  ol.f2 
#ol.f1 1077.2098 865.9306 
#ol.f2 865.9306 2090.2021 

require(mixtools) 
#Loading required package: mixtools 
#Loading required package: boot 
# And you get a warning that ellipse from car is masked. 

ellipse(mu, sigma, alpha=0.2, npoints = 200, newplot = FALSE) 

新しい見積もりを使用した以前のプロット(この場合はわずかに狭くなります)This is the comparison of the two methods

+0

+1あなたのためにこれをk。私は、これを行うために自分の関数を書くのにかなりの時間を費やしました...私はこのコードを興味深く調べます。 – Andrie

+0

かなり一般的な作業でなければなりません。私はこれがこのサービスを行うCRANパッケージの機能のリストを使い果たしているとは思わない。確かに、私は過去に「密度の仕事」をするときに他人を見つけました。 –

+0

この詳細で説明された答えをありがとう!私はこれを実現するのが楽しみです。 – marw

関連する問題