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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。