dput
位于 base
包(package)。 说明
写入 ASCII 文本表示形式R对象到文件,R控制台,或连接,或使用一个来重新创建对象。
用法
dput(x, file = "",
control = c("keepNA", "keepInteger", "niceNames", "showAttributes"))
dget(file, keep.source = FALSE)
参数
x |
一个东西。 |
file |
命名文件的字符串或 connection 。 |
control |
解析选项的字符向量(或 |
keep.source |
逻辑:如果可能的话,在解析函数时是否应该保留源格式? |
细节
dput
打开 file
并将对象 x
解析到该文件中。未写入对象名称(与 dump
不同)。如果 x
是一个函数,则关联的环境将被删除。因此,范围信息可能会丢失。
解析一个对象是很困难的,而且并不总是可能的。使用默认的 control
, dput()
尝试以可读的方式进行解析,但对于更复杂或不寻常的对象(请参阅 dump
),不太可能被解析为与原始对象相同。使用control = "all"
进行最完整的解析;使用 control = NULL
进行最简单的解析,甚至不包括属性。
如果写入文件的字符少于预期,dput
将发出警告,这可能表明文件系统已满或损坏。
要显示保存的源而不是解析内部表示,包括"useSource"
在control
.R目前仅保存函数定义的源代码。如果您不关心源表示(例如,对于数据对象),则对于速度设置options(keep.source = FALSE
) 调用时source
.
值
对于 dput
,第一个参数不可见。
对于 dget
,创建的对象。
注意
这是不是之间传输对象的好方法R会议。dump
比较好,但是函数save
和saveRDS
设计用于运输R数据,并将与R对象dput
不能正确处理并且速度更快。
为了避免源属性与实际函数定义不同步的风险,函数的源属性永远不会被写为属性。
例子
fil <- tempfile()
## Write an ASCII version of the 'base' function mean() to our temp file, ..
dput(base::mean, fil)
## ... read it back into 'bar' and confirm it is the same
bar <- dget(fil)
stopifnot(all.equal(bar, base::mean, check.environment = FALSE))
## Create a function with comments
baz <- function(x) {
# Subtract from one
1-x
}
## and display it
dput(baz)
## and now display the saved source
dput(baz, control = "useSource")
## Numeric values:
xx <- pi^(1:3)
dput(xx)
dput(xx, control = "digits17")
dput(xx, control = "hexNumeric")
dput(xx, fil); dget(fil) - xx # slight rounding on all platforms
dput(xx, fil, control = "digits17")
dget(fil) - xx # slight rounding on some platforms
dput(xx, fil, control = "hexNumeric"); dget(fil) - xx
unlink(fil)
xn <- setNames(xx, paste0("pi^",1:3))
dput(xn) # nicer, now "niceNames" being part of default 'control'
dput(xn, control = "S_compat") # no names
## explicitly asking for output as in R < 3.5.0:
dput(xn, control = c("keepNA", "keepInteger", "showAttributes"))
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
相关用法
- R dump R 对象的文本表示
- R diag 矩阵对角线
- R deparse 表达式解析
- R deparseOpts 表达式解析选项
- R dots ...、..1 等在函数中使用
- R debug 调试函数
- R do.call 执行函数调用
- R dcf 以 DCF 格式读写数据
- R data.class 对象类
- R dimnames 对象的暗名称
- R dyn.load 对外函数接口
- R diff 滞后差异
- R duplicated 确定重复元素
- R dim 物体的尺寸
- R dontCheck 抑制检查的身份函数
- R drop 删除冗余盘区信息
- R delayedAssign 延迟评估和承诺
- R difftime 时间间隔/差异
- R det 计算矩阵的行列式
- R detach 从搜索路径中分离对象
- R data.frame DataFrame
- R double 双精度向量
- R data.matrix 将 DataFrame 转换为数字矩阵
- R date 系统日期和时间
- R droplevels 删除因子中未使用的级别
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Write an Object to a File or Recreate it。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。