fitPrincipalCurve.matrix(aroma.light)
fitPrincipalCurve.matrix()所属R语言包:aroma.light
Fit a principal curve in K dimensions
适合在K维的主曲线
译者:生物统计家园网 机器人LoveR
描述----------Description----------
Fit a principal curve in K dimensions.
适合在K尺寸的主要曲线。
用法----------Usage----------
参数----------Arguments----------
参数:X
An NxK matrix (K>=2) where the columns represent the dimension.
NxKmatrix(钾> = 2),其中列代表维度。
参数:...
Other arguments passed to principal.curve.
其他参数传递到principal.curve。
参数:verbose
A logical or a Verbose object.
一个logical或Verbose对象。
值----------Value----------
Returns a principal.curve object (which is a list). See principal.curve for more details.
返回一个principal.curve对象(这是一个list)。看到principal.curve更多细节。
遗漏值----------Missing values----------
The estimation of the affine normalization function will only be made based on complete observations, i.e. observations that contains no NA values in any of the channels.
估计仿射标准化功能将只基于完整的观察,即观察,没有NA值包含在任何渠道。
作者(S)----------Author(s)----------
Henrik Bengtsson (<a href="http://www.braju.com/R/">http://www.braju.com/R/</a>)
参考文献----------References----------
参见----------See Also----------
*backtransformPrincipalCurve(). principal.curve.
*backtransformPrincipalCurve()。 principal.curve。
举例----------Examples----------
# Simulate data from the model y <- a + bx + x^c + eps(bx)[从模型模拟数据Y < - A + BX + X ^ C + EPS(BX)]
J <- 1000
x <- rexp(J)
a <- c(2,15,3)
b <- c(2,3,4)
c <- c(1,2,1/2)
bx <- outer(b,x)
xc <- t(sapply(c, FUN=function(c) x^c))
eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(b), mean=0, sd=0.1*x))
y <- a + bx + xc + eps
y <- t(y)
# Fit principal curve through (y_1, y_2, y_3)[适合通过主曲线(y_1,y_2,y_3)]
fit <- fitPrincipalCurve(y, verbose=TRUE)
# Flip direction of 'lambda'?[翻转拉姆达的方向?]
rho <- cor(fit$lambda, y[,1], use="complete.obs")
flip <- (rho < 0)
if (flip) {
fit$lambda <- max(fit$lambda, na.rm=TRUE)-fit$lambda
}
# Backtransform (y_1, y_2, y_3) to be proportional to each other[backtransform(y_1,y_2,y_3)是彼此成正比]
yN <- backtransformPrincipalCurve(y, fit=fit)
# Same backtransformation dimension by dimension[尺寸相同backtransformation维的]
yN2 <- y
for (cc in 1:ncol(y)) {
yN2[,cc] <- backtransformPrincipalCurve(y, fit=fit, dimensions=cc)
}
stopifnot(identical(yN2, yN))
xlim <- c(0, 1.04*max(x))
ylim <- range(c(y,yN), na.rm=TRUE)
# Display raw and backtransform data[显示原材料和backtransform数据]
layout(matrix(1:4, nrow=2, byrow=TRUE))
par(mar=c(4,4,2,1)+0.1)
for (rr in 1:2) {
ylab <- substitute(y[c], env=list(c=rr))
for (cc in 2:3) {
if (cc == rr) {
plot.new()
next
}
xlab <- substitute(y[c], env=list(c=cc))
plot(NA, xlim=ylim, ylim=ylim, xlab=xlab, ylab=ylab)
abline(a=0, b=1, lty=2)
points(y[,c(cc,rr)])
points(yN[,c(cc,rr)], col="tomato")
}
}
layout(matrix(1:4, nrow=2, byrow=TRUE))
par(mar=c(4,4,2,1)+0.1)
for (cc in 1:3) {
ylab <- substitute(y[c], env=list(c=cc))
plot(NA, xlim=xlim, ylim=ylim, xlab="x", ylab=ylab)
points(x, y[,cc])
points(x, yN[,cc], col="tomato")
}
转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。
注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
|