并非总是我们有读取或写入本地系统路径的自由。例如,如果R代码流map-reduce必须读取和写入文件连接。还有其他场景,其中一种超越本地系统,随着云和大数据的出现,这种情况变得越来越普遍。一种方法是按照逻辑顺序进行。
建立文件连接以使用file()命令进行读取(“ r”用于读取模式):
conn <- file("/path/example.data", "r") #when file is in local system conn1 <- file("stdin", "r") #when just standard input/output for files are available
由于这将建立文件连接,因此可以从这些文件连接中读取数据,如下所示:
line <- readLines(conn, n=1, warn=FALSE)
在这里,我们从文件连接conn逐行读取数据n=1。可以更改值n(例如10、20等)来读取数据块,以便更快地读取(一次读取10或20行块)。一口气读取完整文件n=-1。
经过数据处理或执行模型后;可以使用许多不同的命令(如等)将结果写回到文件连接,这些命令可以写入文件连接。但是,所有这些命令都将利用为写入而建立的文件连接。可以使用以下命令来完成:writeLines(),cat()file()
conn2 <- file("/path/result.data", "w") #when file is in local system conn3 <- file("stdout", "w") #when just standard input/output for files are available
然后按如下所示写入数据:
writeLines("text",conn2, sep = "\n")