0

したがって、単純なテーブルに配置された対数変換された測定データがあります。

      x         y
1.158362492 1.322219295
1.1430148   1.267171728
1.11058971  1.252853031
1.120573931 1.260071388
1.149219113 1.278753601
1.123851641 1.276461804
1.096910013 1.222716471

これらのデータの信頼楕円をプロットする関数があることは知っていますが、生成された形状の面積を計算するにはどうすればよいですか?

ありがとう

4

3 に答える 3

5

最初に楕円を計算し、次に長軸と短軸の長さを決定し、次に面積を計算します

これは頭​​のない近似です。

まず、あなたのデータ。

dat <- structure(list(x = c(1.158362492, 1.1430148, 1.11058971, 1.120573931, 
          1.149219113, 1.123851641, 1.096910013), y = c(1.322219295, 1.267171728, 
          1.252853031, 1.260071388, 1.278753601, 1.276461804, 1.222716471
          )), .Names = c("x", "y"), class = "data.frame", row.names = c(NA, 
          -7L))

次に、パッケージをロードしますcardataEllipseデータへの二変量正規近似を使用して楕円を計算するために使用できます。

require(car)
dataEllipse(dat$x, dat$y, levels=0.5)

を呼び出すと、プロットellipseする楕円に沿って点を与えることができます。dataEllipse

me <- apply(dat, 2, mean)
v <- var(dat)
rad <- sqrt(2*qf(0.5, 2, nrow(dat)-1))
z <- ellipse(me, v, rad, segments=1001)

次に、楕円上の各点から中心までの距離を計算できます。

dist2center <- sqrt(rowSums((t(t(z)-me))^2))

これらの距離の最小値と最大値は、短軸と長軸の半分の長さです。したがって、次のように面積を取得できます。

pi*min(dist2center)*max(dist2center)
于 2011-09-25T02:57:36.280 に答える
0

package を使用できます。mclustという隠し関数がありmvn_plot、入力パラメータはmeanstdです。そのコードを読み取って、各軸の長さを取得するように変更してみてください。

于 2011-09-25T03:35:32.920 に答える