当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R symnum 符号数字编码


R语言 symnum 位于 stats 包(package)。

说明

对给定的数值或逻辑向量或数组进行符号编码。对于结构化矩阵(例如相关矩阵、稀疏矩阵或逻辑矩阵)的可视化特别有用。

用法

symnum(x, cutpoints = c(0.3, 0.6, 0.8, 0.9, 0.95),
       symbols = if(numeric.x) c(" ", ".", ",", "+", "*", "B")
                 else c(".", "|"),
       legend = length(symbols) >= 3,
       na = "?", eps = 1e-5, numeric.x = is.numeric(x),
       corr = missing(cutpoints) && numeric.x,
       show.max = if(corr) "1", show.min = NULL,
       abbr.colnames = has.colnames,
       lower.triangular = corr && is.numeric(x) && is.matrix(x),
       diag.lower.tri   = corr && !is.null(show.max))

参数

x

数字或逻辑向量或数组。

cutpoints

数值向量,其值cutpoints[j] (增强后,请参见下面的corr)用于间隔。

symbols

字符向量,比(增强的,请参见下面的 corr) cutpoints 短一个。 symbols[j] 用作(半开)间隔 的 ‘code’。

numeric.xFALSE 时,即默认情况下,当参数 xlogical 时,默认值为 c(".","|") (图形 0 /1 秒)。

legend

逻辑指示是否需要 "legend" 属性。

na

字符或逻辑。 NAs 是如何编码的。如果 na == FALSENA 被编码为不可见,包括下面的 "legend" 属性,否则会提到 NA 编码。

eps

在左边界和右边界使用绝对精度。

numeric.x

逻辑指示是否应将 x 视为数字,否则视为逻辑。

corr

合乎逻辑的。如果 TRUEx 包含相关性。切点通过 01 进行扩充,并对 abs(x) 进行编码。

show.max

如果是 TRUE 或模式 character ,则最大分割点将被特别编码。

show.min

如果 TRUE 或模式 character ,则最小切点会被特别编码。

abbr.colnames

逻辑、整数或 NULL 指示列名应如何缩写(如果是);如果NULL(或FALSEx没有列名),则列名全部为空,即"";否则,如果 abbr.colnames 为 false,则它们保持不变。如果 TRUE 或整数,现有列名称将缩写为 abbreviate(*, minlength = abbr.colnames)

lower.triangular

合乎逻辑的。如果TRUEx是矩阵,则仅矩阵的下三角部分被编码为非空白。

diag.lower.tri

合乎逻辑的。如果 lower.triangular 且这是 TRUE ,则显示矩阵的对角线部分。

noquote 的原子字符对象,其维度与 x 相同。

如果 legendTRUE(默认情况下,当有两个以上的类时),结果具有属性 "legend",其中包含返回的字符代码的图例,格式为

其中 = cutpoints[j] = symbols[j]

注意

可选(主要是逻辑)参数都尝试使用智能默认值。在许多情况下,明确指定它们可能会显著改善输出。

例子

ii <- setNames(0:8, 0:8)
symnum(ii, cutpoints =  2*(0:4), symbols = c(".", "-", "+", "$"))
symnum(ii, cutpoints =  2*(0:4), symbols = c(".", "-", "+", "$"), show.max = TRUE)

symnum(1:12 %% 3 == 0)  # --> "|" = TRUE, "." = FALSE  for logical

## Pascal's Triangle modulo 2 -- odd and even numbers:
N <- 38
pascal <- t(sapply(0:N, function(n) round(choose(n, 0:N - (N-n)%/%2))))
rownames(pascal) <- rep("", 1+N) # <-- to improve "graphic"
symnum(pascal %% 2, symbols = c(" ", "A"), numeric.x = FALSE)

##-- Symbolic correlation matrices:
symnum(cor(attitude), diag.lower.tri = FALSE)
symnum(cor(attitude), abbr.colnames = NULL)
symnum(cor(attitude), abbr.colnames = FALSE)
symnum(cor(attitude), abbr.colnames = 2)

symnum(cor(rbind(1, rnorm(25), rnorm(25)^2)))
symnum(cor(matrix(rexp(30, 1), 5, 18))) # <<-- PATTERN ! --
symnum(cm1 <- cor(matrix(rnorm(90) ,  5, 18))) # < White Noise SMALL n
symnum(cm1, diag.lower.tri = FALSE)
symnum(cm2 <- cor(matrix(rnorm(900), 50, 18))) # < White Noise "BIG" n
symnum(cm2, lower.triangular = FALSE)

## NA's:
Cm <- cor(matrix(rnorm(60),  10, 6)); Cm[c(3,6), 2] <- NA
symnum(Cm, show.max = NULL)

## Graphical P-values (aka "significance stars"):
pval <- rev(sort(c(outer(1:6, 10^-(1:3)))))
symp <- symnum(pval, corr = FALSE,
               cutpoints = c(0,  .001,.01,.05, .1, 1),
               symbols = c("***","**","*","."," "))
noquote(cbind(P.val = format(pval), Signif = symp))

作者

Martin Maechler maechler@stat.math.ethz.ch

也可以看看

as.character; image

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Symbolic Number Coding。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。