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

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

[复制链接]
发表于 2012-2-16 18:25:33 | 显示全部楼层 |阅读模式
diag(base)
diag()所属R语言包:base

                                        Matrix Diagonals
                                         矩阵的对角化

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

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

Extract or replace the diagonal of a matrix, or construct a diagonal matrix.
提取或替换矩阵的对角线,或建立一个对角矩阵。


用法----------Usage----------


diag(x = 1, nrow, ncol)
diag(x) <- value



参数----------Arguments----------

参数:x
a matrix, vector or 1D array, or missing.
矩阵,向量或一维数组,或失踪。


参数:nrow, ncol
Optional dimensions for the result when x is not a matrix.
可选尺寸的结果时,x是不是一个矩阵。


参数:value
either a single value or a vector of length equal to that of the current diagonal.  Should be of a mode which can be coerced to that of x.
无论是单值或当前对角线长度相等的向量。应该是一个可以被裹挟x的模式。


Details

详情----------Details----------

diag has four distinct usages:
diag有四个不同的用途:

x is a matrix, when it extracts the diagonal.
x是一个矩阵时,它提取的对角线。

x is missing and nrow is specified, it returns an identity matrix.
x缺少nrow被指定,它返回一个身份矩阵。

x is a scalar (length-one vector) and the only argument, it returns a square identity matrix of size given by the scalar.
x是一个标量(长度为一个向量)和唯一的参数,它返回的面积身份矩阵标量。

x is a vector, either of length at least 2 or there were further arguments.  This returns a matrix with the given diagonal and zero off-diagonal entries.
x是一个向量,无论是长度至少为2或有进一步的参数。这将返回一个矩阵的对角线和零偏离对角线的项。

It is an error to specify nrow or ncol in the first case.
这是一个错误指定nrow或ncol在第一种情况。


值----------Value----------

If x is a matrix then diag(x) returns the diagonal of x.  The resulting vector will have names if the matrix x has matching column and rownames.
如果x是一个矩阵,那么diag(x)返回x的对角线。由此产生的向量,将有names如果矩阵x已匹配列和rownames。

The replacement form sets the diagonal of the matrix x to the given value(s).
更换的形式设置对角线矩阵x给定值(S)。

In all other cases the value is a diagonal matrix with nrow rows and ncol columns (if ncol is not given the matrix is square).  Here nrow is taken from the argument if specified, otherwise inferred from x: if that is a vector (or 1D array) of length two or more, then its length is the number of rows, but if it is of length one and neither nrow nor ncol is specified, nrow = as.integer(x).
在所有其他情况下的值是一个对角矩阵nrow行ncol(ncol如果没有给出列的矩阵是方形)。这里nrow是如果指定参数,否则推断x:如果这是一个长度为向量(或一维数组)两个或两个以上的,那么它的长度是行数,但如果它是一个长度,既不nrow也ncol指定,nrow = as.integer(x)。

When a diagonal matrix is returned, the diagonal elements are one except in the fourth case, when x gives the diagonal elements: it will be recycled or truncated as needed, but fractional recycling and truncation will give a warning.
当返回一个对角矩阵,对角线上的元素之一,除了在第四宗情况时x给对角线元素:它会被回收或截断需要,但小数回收和截断将给予警告。


注意----------Note----------

Using diag(x) can have unexpected effects if x is a vector that could be of length one.  Use diag(x, nrow =     length(x)) for consistent behaviour.
使用diag(x)可以有意想不到的效果,如果x是一个向量,这可能是一个长度。使用diag(x, nrow =     length(x))一致的行为。


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

The New S Language. Wadsworth & Brooks/Cole.

参见----------See Also----------

upper.tri, lower.tri, matrix.
upper.tri,lower.tri,matrix。


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


require(stats)
dim(diag(3))
diag(10,3,4) # guess what?[你知道吗?]
all(diag(1:3) == {m <- matrix(0,3,3); diag(m) <- 1:3; m})

diag(var(M <- cbind(X = 1:5, Y = stats::rnorm(5))))
#-&gt; vector with names "X" and "Y"[ - 向量名称“X”的和“Y”]

rownames(M) <- c(colnames(M),rep("",3));
M; diag(M) #  named as well[命名以及]

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


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-23 14:58 , Processed in 0.024348 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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