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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。