首先計算出橢圓,然後確定長軸和短軸的長度,然後calculate the area。
這是一個無腦的近似。
首先,你的數據。
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))
然後加載包裝car
; dataEllipse
可用於使用數據的二元正態近似來計算橢圓。
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)
「計算橢圓」需要一些細節。 – Benjamin
@Benjamin - 也許我太過分地討厭,但似乎提問者知道如何計算橢圓,在這個區域不會有困難,除非難以理解事物,在這種情況下,他應該問關於那個部分。 – Karl