找回密码
 注册
查看: 4398|回复: 0

R语言:gam.models()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-2-17 10:10:58 | 显示全部楼层 |阅读模式
gam.models(mgcv)
gam.models()所属R语言包:mgcv

                                        Specifying generalized additive models
                                         指定广义相加模型

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

This page is intended to provide some more information on how to specify GAMs. A GAM is a GLM in which the linear predictor depends,  in part, on a sum of smooth functions of predictors and (possibly) linear  functionals of smooth functions of (possibly dummy) predictors.
这页的目的是提供一些关于如何指定GAMS信息。一个自由亚齐运动是一个方差分析,线性预测,预测和光滑函数(可能是虚拟的)预测(可能)的线性泛函的光滑函数的总和,部分取决于。

Specifically let y_i denote an independent random variable  with mean mu_i and an exponential family distribution, or failing  that a known mean variance relationship suitable for use of quasi-likelihood methods.  Then the the linear predictor of a GAM has a structure something like
特别让我们y_i表示一个独立的随机变量平均mu_i指数族分布,或失败的一个已知的均值方差关系适合使用的拟似然方法。然后,在一个自由亚齐运动的线性预测具有类似结构的东西

where g is a known smooth monotonic "link" function, X_i b  is the parametric part of the linear predictor, the x_j are predictor variables, the f_j are smooth functions and L_i is some linear functional of  f_3. There may of course be multiple linear functional terms, or none.
g是一个已知的光滑单调的“链接”功能,X_i b是线性预测的参数部分,x_j预测变量,f_j是光滑函数和L_i一些f_3的线性泛函。当然可能有多个线性泛函的条款,或没有。

The key idea here is that the dependence of the response on the predictors can be represented as a parametric sub-model plus the sum of some (functionals of) smooth functions of one or more of the predictor variables. Thus the model is quite flexible relative to strictly parametric linear or generalized linear models, but still has much more structure than the completely general model that says that the response is just some smooth function of all the covariates.
这里的关键思想是依赖预测的响应,可以作为一个参数子模型,加上一些(函)光滑函数的一个或多个的预测变量的总和代表。因此,该模型是相当灵活的相对严格的参数线性或广义线性模型,但仍然有更多的结构比一般的模型说,响应仅仅是一些光滑函数所有的变项。

Note one important point. In order for the model to be identifiable the smooth functions usually have to be constrained to have zero mean (usually taken over the set of covariate values). The constraint is needed if the term involving the  smooth includes a constant function in its span. gam always applies such constraints  unless there is a by variable present, in which case an assessment is made of whether  the constraint is needed or not (see below).
请注意其中重要的一点。为了模型识别的顺利功能通常受到限制,具有零均值(通常是采取了一套协值)。约束是必要的,如果涉及平稳一词包括其跨度在不断的功能。 gam总是适用于这样的限制,除非有一个by变量目前,在这种情况下,评估是否需要或不约束(见下文)。

The following sections discuss specifying model structures for gam.  Specification of the distribution and link function is done using the family  argument to gam and works in the same way as for glm.  This page therefore concentrates on the model formula for gam.
以下各节讨论指定gam的模型结构。使用family参数gam和在glm的相同的方式工作的分配和链接功能的规范。因此,在该页面集中在模型公式为gam。


具有简洁流畅的模型----------Models with simple smooth terms----------

Consider the example model.
考虑,例如模型。

where the response variables y_i has expectation mu_i and g is a link function.
响应变量y_i有期望mu_i和g是一个链接的功能。

The gam formula for this would be <br> y ~ x1 + x2 + s(x3) + s(x4,x5). <br> This would use the default basis for the smooths (a thin plate regression spline basis for each), with automatic selection of the effective degrees of freedom for both smooths. The dimension of the smoothing basis is given a default value as well (the dimension of the basis sets an upper limit on the maximum possible degrees of freedom for the basis - the limit is typically one less than basis dimension). Full details of how to control smooths are given in s and te, and further discussion of basis dimension choice can be found in choose.k.  For the moment suppose that we would like to change the basis of the first smooth to a cubic regression spline basis with a dimension of 20, while fixing the second term at 25 degrees of freedom. The appropriate formula would be:<br> y ~ x1 + x2 + s(x3,bs="cr",k=20) + s(x4,x5,k=26,fx=TRUE).
gam这个公式将参考y ~ x1 + x2 + s(x3) + s(x4,x5)。参考这将使用自动选择有效自由度为平滑的默认基础(薄板样条线的基础上为每个回归),同时平滑。维平滑的基础上给出了一个默认值,以及(维度的基础上设置上限的基础上最大可能程度的自由 - 限制是通常比基础尺寸少)。 s和te,进一步讨论的基础维度选择如何控制平滑的全部细节,可以发现在choose.k。暂时假设,我们想改变的第一个顺利的基础上,以立方回归样条线的基础上,尺寸为20,而固定在25个自由度的第二个任期。相应的计算公式是:参考的y ~ x1 + x2 + s(x3,bs="cr",k=20) + s(x4,x5,k=26,fx=TRUE)。

The above assumes that x_4 and x_5 are naturally on  similar scales (e.g. they might be co-ordinates), so that isotropic smoothing  is appropriate. If this assumption is false then tensor product smoothing might be  better (see te). <br> y ~ x1 + x2 + s(x3) + te(x4,x5)<br> would generate a tensor product smooth of x_4 and x_5.  By default this smooth would have basis dimension 25 and use cubic regression spline marginals.  Varying the defaults is easy. For example<br> y ~ x1 + x2 + s(x3) + te(x4,x5,bs=c("cr","ps"),k=c(6,7))<br> specifies that the tensor product should use a rank 6 cubic regression spline marginal and a rank 7 P-spline marginal to create a smooth with basis dimension 42.
上述假设x_4和x_5自然类似的尺度(例如他们可能会统筹),使各向同性的平滑是适当的。如果这个假设是错误的,那么张量积平滑可能会更好(见te)。参考y ~ x1 + x2 + s(x3) + te(x4,x5)参考会产生光滑x_4和x_5张量的产品。默认情况下,顺利将有25和使用的基础上维立方米回归样条勉强。不同的默认值是很容易的。例如参考y ~ x1 + x2 + s(x3) + te(x4,x5,bs=c("cr","ps"),k=c(6,7))参考指定张产品应使用等级6立方米回归样条边缘和职级7个P-样条边缘创建平稳的基础上尺寸42。


嵌套的条件----------Nested terms----------

Another common modelling task is to decide if a model like:
另一种常见的建模任务是,以决定是否像一个模型:

is really necessary or whether:
确有必要,或者是否:

would do just as well. One possibility is to examine the results of fitting:<br> y ~ s(x) + s(z) + s(x,z).<br> gam automatically generates side conditions to make this model identifiable. You can also estimate "overlapping" models like:<br> y ~ s(x,z) + s(z,v).  
会做的一样好。一种可能性是检查拟合结果。参考y ~ s(x) + s(z) + s(x,z)参考gam自动生成方的条件,使这个模型识别。您还可以估算“重叠”的模式,如:参考y ~ s(x,z) + s(z,v)。

Note that optimum interpretability of such models is obtained by ensuring that  lower order terms are strictly nested withing higher order ones. This is most easily achieved by employing tensor product smooths for multidimensional terms, and ensuring that lower order terms are using the same (marginal) bases as higher order ones. For example:<br> y ~ s(x,bs="cr",k=5) + s(z,bs="cr",k=5) + te(x,z)<br> would ensure strict nesting of the main effects within the interaction (given the te default  bs and k arguments), since the main effects employ the same bases used as marginals for the te term.
请注意,此类机型的最佳解释性低阶条款严格withing高阶的嵌套确保获得。这是最容易被聘用张量积的多维实现平滑,并确保低阶条款高阶的使用相同的(边际)基地。参考y ~ s(x,bs="cr",k=5) + s(z,bs="cr",k=5) + te(x,z)参考,例如:将确保严格嵌套在互动的主要影响(te默认的bs和k参数),自主要影响聘用勉强te长期使用同一基地。


“”变量----------&lsquo;by&rsquo; variables----------

by variables are the means for constructing "varying-coefficient models" (geographic regression models) and  for letting smooths "interact" with factors or parametric terms. They are also the key to specifying general linear  functionals of smooths.
by变量是构建“变系数模型”(地理回归模型),让平滑的互动因素或参数方面的手段。他们还指定一般的平滑线性泛函的关键。

The s and te terms used to specify smooths accept an argument by,  which is a numeric or factor variable of the same dimension as the covariates of the smooth.  If a by variable is numeric, then its ith element multiples the  ith row of the model matrix corresponding to the smooth term concerned.
s和te用于指定平滑接受一个参数by,这是一个数字或因素作为协变量的顺利同一维度变量。如果by变量是数字,那么它的ith元素倍数ith模型矩阵的行对应的平稳长期关注的。

Factor smooth interactions (see also factor.smooth.interaction). If a by variable is a factor then it  generates an indicator vector for each level  of the factor, unless it is an ordered factor. In the non-ordered case, the model matrix for the smooth term is then replicated for each factor level, and each copy has its rows multiplied by the corresponding rows of its indicator variable. The smoothness penalties are also duplicated for each factor level.  In short a different smooth is generated for each factor level (the id argument to s and te can be used to force all  such smooths to have the same smoothing parameter). ordered by variables are handled in the same  way, except that no smooth is generated for the first level of the ordered factor (see b3 example below).  This is useful for setting up  identifiable models when the same smooth occurs more than once in a model, with different factor by variables.
顺利相互作用因子(又见factor.smooth.interaction)。如果by变量factor然后它生成的指标向量为每个因子的水平,除非它是一个ordered因素。在非有序的情况下,顺利任期模型矩阵复制,然后为每个因子的水平,并且每个副本都有其指标变量相应的行乘以行。平滑的处罚也各因子水平的重复。总之,每个因子水平(id参数不同的顺利产生s和te可以用来迫使所有这些平滑具有相同的平滑参数)。 orderedby变量都以同样的方式处理,除了没有顺利有序因子的第一级(见下面b3例如)。建立识别模型时相同的顺利发生不止一次在不同的因素by变量,模型,这是有用的。

As an example, consider the model
作为一个例子,考虑模型

where f is a smooth function, and z_i is a numeric variable. The appropriate formula is:<br> y ~ s(x,by=z)<br> - the by argument ensures that the smooth function gets multiplied by covariate z. Note that when using factor by variables, centering constraints are applied to the smooths, which usually means that the by variable should be included as a parametric term, as well.
f是一个光滑函数,z_i是一个数值变量。相应的计算公式是:参考y ~ s(x,by=z)参考 - by参数,确保顺利功能得到成倍协z。请注意,当使用由变量因素,围绕制约应用的平滑,这通常意味着,由变量应包括作为一个参数来看,以及。

The example code below also illustrates the use of factor by variables.
下面的示例代码,也说明了使用的因素by变量。

by variables may be supplied as numeric matrices as part of specifying general linear functional terms.
by变量可以提供部分指定一般线性功能方面的数字矩阵。

If a by variable is present and numeric (rather than a factor) then the corresponding smooth is only subjected  to an identifiability constraint if (i) the by variable is a constant vector, or, (ii) for a matrix  by variable, L, if L%*%rep(1,ncol(L)) is constant or (iii) if a user defined smooth constructor  supplies an identifiability constraint explicitly, and that constraint has an attibute "always.apply".
如果by变量是当前和数值(而不是一个因素),那么相应的平稳只是受到辨识约束倘(i)by变量是一个常数向量,或(ii)矩阵by变L如果L%*%rep(1,ncol(L))是不变或(iii)如果一个用户定义的平稳构造提供一个明确的辨识约束,这种约束具有attibute "always.apply" 。


连接平滑具有id----------Linking smooths with &lsquo;id&rsquo;----------

It is sometimes desirable to insist that different smooth terms have the same degree of smoothness.  This can be done by using the id argument to s or te terms. Smooths  which share an id will have the same smoothing parameter. Really this only makes sense if the  smooths use the same basis functions, and the default behaviour is to force this to happen: all smooths  sharing an id have the same basis functions as the first smooth occurring with that id. Note  that if you want exactly the same function for each smooth, then this is best achieved by making use of the  summation convention covered under "linear functional terms".
有时需要坚持,不同的顺利条款有相同的光滑度。这可以通过使用id参数s或te条款。平滑份额id将有相同的平滑参数。实际上这是有道理的,如果平滑使用相同的基础功能,默认行为是强制要做到这一点:所有的平滑共享id有作为第一光滑发生的相同的基础功能,id 。请注意,正是每个顺利相同的功能,如果你想,那么这是最好的利用求和约定下的线性功能条款“所涵盖的实现。

As an example suppose that E(y_i)=mu_i and
作为一个例子,假设E(y_i)=mu_i“

but that f1 and f3 should have the same smoothing parameters (and x_2 and x_3 are on different scales). Then  the gam formula<br> y ~ s(x1,id=1) + te(x_2,x3) + s(x4,id=1)<br> would achieve the desired result. id can be numbers or character strings. Giving an id to a  term with a factor by variable causes the smooths at each level of the factor to have the same smoothing  parameter.
但f1和f3应该有相同的平滑参数(x_2和x_3不同尺度上)。然后gam公式参考y ~ s(x1,id=1) + te(x_2,x3) + s(x4,id=1)参考会达到预期的效果。“ id可以是数字或字符串。给予任期id因素每个因子的水平,具有相同的平滑参数by变量的原因平滑。

Smooth term ids are not supported by gamm.
光滑长期idS是不支持gamm。


线性泛函的条款----------Linear functional terms----------

General linear functional terms have a long history in the spline literature including in the penalized  GLM context (see e.g. Wahba 1990). Such terms encompass varying coefficient models/ geographic  regression, functional GLMs (i.e. GLMs with functional predictors), GLASS models, etc, and allow  smoothing with respect to aggregated covariate values, for example.
样条在处罚的GLM背景下(见如Wahba 1990年),包括文学,一般线性功能方面有悠久的历史。这些条款包括变系数模型/地理回归的功能GLMs(即GLMs与功能预测),玻璃模型等,允许平滑汇总协值,例如,。

Such terms are implemented in mgcv using a simple "summation convention" for smooth terms: If the covariates of a  smooth are supplied as matrices, then summation of the evaluated smooth over the columns of the matrices is implied. Each  covariate matrix and any by variable matrix must be of the same dimension. Consider, for example the term<br> s(X,Z,by=L)<br> where X, Z and L are n by p matrices. Let f denote the thin plate regression  spline specified. The resulting contibution to the ith  element of the linear predictor is
这些条款的实施mgcv用一个简单的“求和约定顺利条款:如果矩阵提供一个平稳的协变量,然后总结是暗示的评价矩阵列顺利。每个协变量矩阵和任何by的变量矩阵必须是同一维度。考虑,例如长期参考s(X,Z,by=L)参考X,Z和Ln by p矩阵。让f表示薄板回归的样条指定。线性预测ith元素所产生的contibution

If no L is supplied then all its elements are taken as 1. In R code terms, let F denote the n by p  matrix obtained by evaluating the smooth at the values in X and Z. Then the contribution of the term to the  linear predictor is rowSums(L*F) (note that it's element by element multiplication here!).
如果没有L提供,那么它的所有元素都为1。在R代码的条款,让F指n by p在值X和Z的顺利通过评估获得的矩阵。线性预测的长期贡献是rowSums(L*F)(注意,它的元素元素乘法这里!)。

The summation convention applies to te terms as well as s terms. More details and examples  are provided in  linear.functional.terms.
求和约定适用于te条款以及s条款。在linear.functional.terms提供更多细节和例子。


随机效应----------Random effects----------

Random effects can be added to gam models using s(...,bs="re") terms (see  smooth.construct.re.smooth.spec),  or the paraPen argument to gam covered below. See gam.vcomp, random.effects and  smooth.construct.re.smooth.spec for further details. An alternative is to use the approach of gamm.
随机效应,可以添加到gam使用s(...,bs="re")条款(见smooth.construct.re.smooth.spec),或paraPengam下面介绍的参数模型。详情见gam.vcomp,random.effects和smooth.construct.re.smooth.spec。另一种方法是使用gamm的方法。


惩罚参数条款----------Penalizing the parametric terms----------

In case the ability to add smooth classes, smooth identities, by variables and the summation convention are  still not sufficient to implement exactly the penalized GLM that you require, gam also allows you to penalize the  parametric terms in the model formula. This is mostly useful in  allowing one or more matrix terms to be included in the formula, along with a  sequence of quadratic penalty matrices for each.
在情况的能力,以增加顺利类,流畅的身份,by变量和求和约定仍然是不够的,以实现准确的处罚,你需要的GLM,gam还允许你来惩罚条款参数模型公式。允许一个或多个矩阵的条款被列入公式中,伴随着每一个二次罚矩阵序列,这是最有用的。

Suppose that you have set up a model matrix X, and want to penalize the corresponding coefficients, b with two penalties b'S1 b and b'S2 b.  Then something like the  following would be appropriate:<br> gam(y ~ X - 1,paraPen=list(X=list(S1,S2)))<br> The paraPen argument should be a list with elements having  names corresponding to the terms being penalized.  Each element of paraPen is itself a list, with optional elements L, rank and sp: all other elements  must be penalty matrices. If present, rank is a vector giving the rank of each penalty matrix  (if absent this is determined numerically). L is a matrix that maps underlying log smoothing parameters to the  log smoothing parameters that actually multiply the individual quadratic penalties: taken as the identity if not supplied. sp is a vector of (underlying) smoothing parameter values: positive values are taken as fixed, negative to signal that  the smoothing parameter should be estimated. Taken as all negative if not supplied.
假设你已经建立了一个模型矩阵X,要惩罚相应的系数,b两个点球b'S1 b和b'S2 b。然后像下面这样将是适当的:参考gam(y ~ X - 1,paraPen=list(X=list(S1,S2)))参考paraPen参数应该有相应的处罚条款的名称的元素的列表。 paraPen的每个元素本身是一个可选元素列表,L,rank和sp:所有其他元素必须是罚款矩阵。如果存在,rank是一个向量,使各罚款矩阵(如果不在这个数值决定)的排名。 L是一个矩阵:作为身份,如果不提供地图相关日志日志平滑参数平滑参数乘以个人的二次处罚。 sp(底层)的矢量平滑参数值:正面的价值观是固定的,消极的信号,应估计平滑参数。如果没有提供所有负。

An obvious application of paraPen is to incorporate random effects, and an example of this is provided below. In this case the supplied penalty matrices will be (generalized) inverse covariance matrices for the random effects &mdash; i.e. precision  matrices. The final estimate of the covariance matrix corresponding to one of these penalties is given by the (generalized)  inverse of the penalty matrix multiplied by the estimated scale parameter and divided by the estimated  smoothing parameter for the penalty. For example, if you use an identity matrix to penalize some coefficients that are to be viewed as i.i.d.  Gaussian random effects, then their estimated variance will be the estimated scale parameter divided by the estimate of the  smoothing parameter, for this penalty. See the "rail" example below.
一个paraPen明显的应用是将随机的效果,下面提供了这样一个例子。在这种情况下,将提供的罚款矩阵(广义)随机效应的逆协方差矩阵 - 即精度矩阵。给予罚款矩阵(广义)乘以估计的尺度参数和罚款估计平滑参数分为逆最终估计的协方差矩阵对应这些刑罚之一。例如,如果您使用的身份矩阵惩罚系数要观看IID高斯随机效应,则其估计方差估计尺度参数除以平滑参数的估计,这个点球。看到下面的轨道的例子。


作者(S)----------Author(s)----------


Simon N. Wood <a href="mailto:simon.wood@r-project.org">simon.wood@r-project.org</a>



参考文献----------References----------


and Hall/CRC Press.

举例----------Examples----------


set.seed(10)
## simulate date from y = f(x2)*x1 + error[#模拟日期从Y = F(X2)* X1 +错误]
dat <- gamSim(3,n=400)

b<-gam(y ~ s(x2,by=x1),data=dat)
plot(b,pages=1)
summary(b)

## Factor `by' variable example (with a spurious covariate x0)[#因子变量(例如一个虚假的协变量X0)]
## simulate data...[#模拟数据...]

dat <- gamSim(4)

## fit model...[#适合模型...]
b <- gam(y ~ fac+s(x2,by=fac)+s(x0),data=dat)
plot(b,pages=1)
summary(b)

## note that the preceding fit is the same as....[#注意前面的拟合是一样的。......]
b1<-gam(y ~ s(x2,by=as.numeric(fac==1))+s(x2,by=as.numeric(fac==2))+
            s(x2,by=as.numeric(fac==3))+s(x0)-1,data=dat)
## ... the `-1' is because the intercept is confounded with the [#... -1,是因为混淆与拦截]
## *uncentred* smooths here.[#* uncentred *平滑。]
plot(b1,pages=1)
summary(b1)

## repeat forcing all s(x2) terms to have the same smoothing param[#重复迫使所有(X2)的条款具有相同的平滑参数]
## (not a very good idea for these data!)[#(没有这些数据的一个非常好的主意!)]
b2 <- gam(y ~ fac+s(x2,by=fac,id=1)+s(x0),data=dat)
plot(b2,pages=1)
summary(b2)

## now repeat with a single reference level smooth, and [#现在重复与一个单一的参考水平平稳,]
## two `difference' smooths...[#差异平滑...]
dat$fac <- ordered(dat$fac)
b3 <- gam(y ~ fac+s(x2)+s(x2,by=fac)+s(x0),data=dat,method="REML")
plot(b3,pages=1)
summary(b3)


rm(dat)

## An example of a simple random effects term implemented via [#实现通过一个简单的随机影响长远的一个例子]
## penalization of the parametric part of the model...[#模型参数的部分处罚...]

dat &lt;- gamSim(1,n=400,scale=2) ## simulate 4 term additive truth[#模拟4长期添加剂真相]
## Now add some random effects to the simulation. Response is [#现在添加一些随机效应的模拟。反应是]
## grouped into one of 20 groups by `fac' and each groups has a[#FAC,分为20组,每组有]
## random effect added....[#随机效应增加....]
fac <- as.factor(sample(1:20,400,replace=TRUE))
dat$X <- model.matrix(~fac-1)
b <- rnorm(20)*.5
dat$y <- dat$y + dat$X%*%b

## now fit appropriate random effect model...[#现在配合适当的随机效应模型...]
PP <- list(X=list(rank=20,diag(20)))
rm <- gam(y~ X+s(x0)+s(x1)+s(x2)+s(x3),data=dat,paraPen=PP)
plot(rm,pages=1)
## Get estimated random effects standard deviation...[#获取随机效应估计的标准偏差...]
sig.b <- sqrt(rm$sig2/rm$sp[1]);sig.b

## a much simpler approach uses "re" terms...[#一个更简单的方法是使用“重”的条款......]

rm1 <- gam(y ~ s(fac,bs="re")+s(x0)+s(x1)+s(x2)+s(x3),data=dat,method="ML")
gam.vcomp(rm1)

## Simple comparison with lme, using Rail data. [#简单的比较,与伦敦金属交易所,用铁的数据。]
## See ?random.effects for a simpler method[#看到了吗?一个简单的方法random.effects]
require(nlme)
b0 <- lme(travel~1,data=Rail,~1|Rail,method="ML")
Z <- model.matrix(~Rail-1,data=Rail,
     contrasts.arg=list(Rail="contr.treatment"))
b <- gam(travel~Z,data=Rail,paraPen=list(Z=list(diag(6))),method="ML")

b0
(b$reml.scale/b$sp)^.5 ## `gam' ML estimate of Rail sd[#自由亚齐运动“毫升估计铁路SD]
b$reml.scale^.5         ## `gam' ML estimate of residual sd[#自由亚齐运动“的ML估计剩余SD]

b0 <- lme(travel~1,data=Rail,~1|Rail,method="REML")
Z <- model.matrix(~Rail-1,data=Rail,
     contrasts.arg=list(Rail="contr.treatment"))
b <- gam(travel~Z,data=Rail,paraPen=list(Z=list(diag(6))),method="REML")

b0
(b$reml.scale/b$sp)^.5 ## `gam' REML estimate of Rail sd[#自由亚齐运动“REML法估计铁路SD]
b$reml.scale^.5         ## `gam' REML estimate of residual sd[#自由亚齐运动“REML法估计剩余SD]


转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2025-1-23 00:54 , Processed in 0.035533 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表