mode
位于 base
包(package)。 说明
获取或设置‘mode’(‘type’的一种),或某个对象的存储模式R对象。
用法
mode(x)
mode(x) <- value
storage.mode(x)
storage.mode(x) <- value
参数
x |
任何R对象。 |
value |
给出对象所需模式或“存储模式”(类型)的字符串。 |
细节
mode
和 storage.mode
都返回一个字符串,给出对象的(存储)模式(通常相同),两者都依赖于 typeof(x)
的输出,请参见下面的示例。
mode(x) <- "newmode"
将对象 x
的 mode
更改为 newmode
。仅当存在适当的 as.newmode
函数时才支持此函数,例如 "logical"
, "integer"
, "double"
, "complex"
, "raw"
, "character"
, "list"
, "expression"
, "name"
, "symbol"
和 "function"
。属性被保留(但见下文)。
storage.mode(x) <- "newmode"
是 mode<-
的更高效的 primitive 版本,适用于内部类型之一的 "newmode"
(请参阅 typeof
),但不适用于 "single"
。属性被保留。
作为存储方式"single"
仅是pseudo-modeR,不会被报告mode
或者storage.mode
: 使用attr(object, "Csingle")
来检查这一点。然而,mode<-
可用于将模式设置为"single"
,它将实模式设置为"double"
和"Csingle"
归因于TRUE
。设置任何其他模式都会删除此属性。
请注意(在下面的示例中)某些 call
具有与 S 兼容的模式 "("
。
模式名称
模式与类型具有相同的名称集(请参阅 typeof
),除了
-
类型
"integer"
和"double"
返回为"numeric"
。 -
类型
"special"
、"builtin"
和"closure"
返回为"function"
。 -
类型
"symbol"
称为模式"name"
。 -
类型
"language"
返回为"("
或"call"
。
例子
require(stats)
sapply(options(), mode)
cex3 <- c("NULL", "1", "1:1", "1i", "list(1)", "data.frame(x = 1)",
"pairlist(pi)", "c", "lm", "formals(lm)[[1]]", "formals(lm)[[2]]",
"y ~ x","expression((1))[[1]]", "(y ~ x)[[1]]",
"expression(x <- pi)[[1]][[1]]")
lex3 <- sapply(cex3, function(x) eval(str2lang(x)))
mex3 <- t(sapply(lex3,
function(x) c(typeof(x), storage.mode(x), mode(x))))
dimnames(mex3) <- list(cex3, c("typeof(.)","storage.mode(.)","mode(.)"))
mex3
## This also makes a local copy of 'pi':
storage.mode(pi) <- "complex"
storage.mode(pi)
rm(pi)
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
typeof
表示 R-internal ‘mode’ 或 ‘type’、type.convert
、attributes
。
相关用法
- R mtfrm 匹配辅助函数
- R merge 合并两个 DataFrame
- R make.unique 使字符串唯一
- R missing 正式论证有价值吗?
- R matrix 矩阵
- R matmult 矩阵乘法
- R maxCol 求矩阵中的最大位置
- R match 价值匹配
- R message 诊断信息
- R match.arg 使用部分匹配的参数验证
- R mat.or.vec 创建矩阵或向量
- R mapply 将函数应用于多个列表或向量参数
- R mean 算术平均值
- R marginSums 计算表格边距
- R make.names 命名语法上有效的名称
- R match.call 参数匹配
- R memlimits 查询和设置堆大小限制
- R match.fun 提取名称指定的函数
- R memCompress 内存中压缩和解压缩
- R memory.profile 分析 Cons 单元的使用情况
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The (Storage) Mode of an Object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。