textConnection
位於 base
包(package)。 說明
輸入和輸出文本連接。
用法
textConnection(object, open = "r", local = FALSE,
name = deparse1(substitute(object)),
encoding = c("", "bytes", "UTF-8"))
textConnectionValue(con)
參數
object |
特點。的說明base connections。對於輸入來說,這是一個R字符向量對象,以及對於輸出連接的名稱R用於接收輸出的字符向量,或 |
open |
字符串。用於輸入連接的 |
local |
合乎邏輯的。僅用於輸出連接。如果 |
name |
指定連接名稱的 |
encoding |
字符串,部分匹配。僅用於輸入連接。應如何處理 |
con |
輸出文本連接。 |
細節
打開輸入文本連接,並在創建連接對象時複製字符向量,並且 close
銷毀該副本。 object
應該是字符向量的名稱:但是,如果 deparse 小於 60 個字節,則將接受短表達式。
打開輸出文本連接並創建一個R用戶工作區或調用環境中給定名稱的字符向量,具體取決於local
爭論。該對象將始終保存連接的完整輸出行,並且isIncomplete
將指示是否有不完整的最後一行。關閉連接將輸出最後一行,無論是否完整。 (一行在以行尾結束後就完成了,由"\n"
在R.) 輸出字符向量已鎖定綁定(請參閱lockBinding
) 直到close
在連接上被調用。還可以檢索字符向量通過 textConnectionValue
,這是唯一的方法,如果object = NULL
。如果當前區域設置被檢測為 Latin-1 或 UTF-8,則字符向量的非 ASCII 元素將被相應標記(請參閱Encoding
)。
使用 mode = "a"
打開文本連接將嘗試附加到用戶工作區或調用環境中具有給定名稱的現有字符向量。如果沒有找到(即使存在名稱正確但類型錯誤的對象),將創建一個新的字符向量,並帶有警告。
您不能在文本連接上seek
,並且seek
將始終返回零作為位置。
文本連接具有稍微不尋常的語義:它們始終處於打開狀態,並且丟棄輸入文本連接而不關閉它(因此它得到garbage-collected)不會發出警告。
值
對於 textConnection
,是繼承自類 "connection"
的類 "textConnection"
的連接對象。
對於 textConnectionValue
,一個字符向量。
注意
由於輸出文本連接使字符向量保持最新line-by-line,因此使用它們的成本相對較高,並且通常最好使用匿名file()
連接來收集輸出。
在 vsnprintf
不返回所需輸出長度的(罕見)平台上,輸出連接的行長度有 100,000 個字符的限製:較長的行將被截斷並出現警告。
例子
zz <- textConnection(LETTERS)
readLines(zz, 2)
scan(zz, "", 4)
pushBack(c("aa", "bb"), zz)
scan(zz, "", 4)
close(zz)
zz <- textConnection("foo", "w")
writeLines(c("testit1", "testit2"), zz)
cat("testit3 ", file = zz)
isIncomplete(zz)
cat("testit4\n", file = zz)
isIncomplete(zz)
close(zz)
foo
# capture R output: use part of example from help(lm)
zz <- textConnection("foo", "w")
ctl <- c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14)
trt <- c(4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69)
group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))
weight <- c(ctl, trt)
sink(zz)
anova(lm.D9 <- lm(weight ~ group))
cat("\nSummary of Residuals:\n\n")
summary(resid(lm.D9))
sink()
close(zz)
cat(foo, sep = "\n")
參考
Chambers, J. M. (1998)
Programming with Data. A Guide to the S Language. Springer.
[S has input text connections only.]
也可以看看
相關用法
- R tempfile 為臨時文件創建名稱
- R taskCallback 添加或刪除頂級任務回調
- R toString 將 R 對象轉換為字符串或測試字符串
- R tilde 波形符運算符
- R try 嘗試允許錯誤恢複的表達式
- R transform 轉換對象,例如 DataFrame
- R tracemem 對象的跟蹤複製
- R traceback 獲取並打印調用堆棧
- R t 矩陣轉置
- R table 交叉表和表格創建
- R taskCallbackManager 創建R級任務回調管理器
- R typeof 對象的類型
- R taskCallbackNames 查詢當前內部頂級任務回調名稱
- R trace 函數或方法調用的交互式跟蹤和調試
- R timezones 時區
- R tabulate 向量列表
- R tapply 對不規則數組應用函數
- R trimws 刪除前導/尾隨空格
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Text Connections。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。