dcf
位于 base
包(package)。 说明
读或写一个RDebian 控制文件格式的文件中的对象或对象。
用法
read.dcf(file, fields = NULL, all = FALSE, keep.white = NULL)
write.dcf(x, file = "", append = FALSE, useBytes = FALSE,
indent = 0.1 * getOption("width"),
width = 0.9 * getOption("width"),
keep.white = NULL)
参数
file |
命名文件的字符串或 connection 。 |
fields |
从 DCF 文件中读取的字段。默认是读取所有字段。 |
all |
一个逻辑,指示在记录中某个字段多次出现的情况下是否应收集所有这些字段。如果 |
keep.white |
一个字符串,其中包含应保留空格的字段名称,或 |
x |
要写入的对象,通常是数据帧。如果不是,则尝试将 |
append |
合乎逻辑的。如果是 |
useBytes |
逻辑上传递给 |
indent |
一个正整数,指定输出条目中连续行的缩进。 |
width |
一个正整数,给出在输出中换行的目标列。 |
细节
DCF 是一种以纯文本文件存储数据库的简单格式,人类可以轻松地直接读取和写入。 DCF用于各种地方存储R系统信息,例如包的说明和内容。
DCF 规则实施于R是:
-
数据库由一条或多条记录组成,每条记录都有一个或多个命名字段。并非每条记录都必须包含每个字段。字段可能在记录中出现多次。
-
常规行以非空白字符开头。
-
常规行的形式为
tag:value
,即具有名称标签和字段值,以:
分隔(仅第一个:
计数)。该值可以为空(即仅包含空格)。 -
如果行中至少有一个字符非空格,则以空格开头的行是延续行(到前一字段)。连续行,其中唯一的非空白字符是 '.' 被视为空行(允许 multi-paragraph 字段值)。
-
记录由一个或多个空行(即仅有空格)分隔。
-
单独的行不能任意长;之前R3.0.2 的长度限制约为每行 8191 字节。
注意read.dcf(all = FALSE)
逐字节读取文件。这允许‘DESCRIPTION' 要读取的文件并且仅使用其 ASCII 字段,或其'编码’字段用于重新编码其余字段。
write.dcf
不写入NA
字段。
值
默认 read.dcf(all = FALSE)
返回一个字符矩阵,每个记录一行,每个字段一列。除非字段在 keep.white
中列出,否则字段值的前导和尾随空格将被忽略。如果文件中指定了标签名称,但对应的值为空,则返回空字符串。如果在 fields
中指定了字段的标记名称,但从未在记录中使用过,则对应的值为 NA
。如果记录中的字段重复,则返回最后遇到的字段。格式错误的行会导致错误。
对于read.dcf(all = TRUE)
,返回一个数据帧,同样每个记录一行,每个字段一列。这些列是多次出现的字段的字符向量列表,否则是字符向量。
请注意,空的file
是有效的DCF文件,read.dcf
将返回zero-row矩阵或数据帧。
对于 write.dcf
,不可见 NULL
。
注意
来自R3.4.0,‘whitespace’ 在所有情况下都包含换行符。
例子
## Create a reduced version of the DESCRIPTION file in package 'splines'
x <- read.dcf(file = system.file("DESCRIPTION", package = "splines"),
fields = c("Package", "Version", "Title"))
write.dcf(x)
## An online DCF file with multiple records
con <- url("https://cran.r-project.org/src/contrib/PACKAGES")
y <- read.dcf(con, all = TRUE)
close(con)
utils::str(y)
参考
https://www.debian.org/doc/debian-policy/ch-controlfields.html.
Note that R does not require encoding in UTF-8, which is a recent Debian requirement. Nor does it use the Debian-specific sub-format which allows comment lines starting with ‘#’.
也可以看看
available.packages
,它使用 read.dcf
读取包存储库的索引。
相关用法
- R dump R 对象的文本表示
- R diag 矩阵对角线
- R deparse 表达式解析
- R deparseOpts 表达式解析选项
- R dots ...、..1 等在函数中使用
- R debug 调试函数
- R do.call 执行函数调用
- R data.class 对象类
- R dimnames 对象的暗名称
- R dyn.load 对外函数接口
- R diff 滞后差异
- R dput 将对象写入文件或重新创建它
- 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大神的英文原创作品 Read and Write Data in DCF Format。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。