R语言:数据输出至文件

from:http://r.rzaixian.com/cookbook/how-to-write-data-into-file.html


问题

若是你想将数据写进一个文件,应该怎样操做?html

解决方案

写入分隔符文本文件

用 write.csv() 将数据写入一个文件是最简单的方法。 write.csv() 默认包括行名,可是这一般是没必要要的,这种默承认能会致使迷惑。数据结构

# 一个样本数据框data <- read.table(header=TRUE, text='
 subject sex size       1   M    7
       2   F    NA
       3   F    9
       4   M   11
 ')# 写入文件,取消默认行名write.csv(data, "data.csv", row.names=FALSE)# 同上,只是‘NA’由空白格代替write.csv(data, "data.csv", row.names=FALSE, na="")# 使用制表符,取消行名和列名write.table(data, "data.csv", sep="\t", row.names=FALSE, col.names=FALSE)

保存为 R 数据格式

write.csv() 和 write.table() 与其它数据分析程序的互操做性是最好的。然而,它们不会保护数据结构的特殊属性,如列是否为字符型或因素,或者因素水平的顺序。为了作到这一点,它须要在特殊的 R 格式下写出来。ide

下面是三种主要的方法:spa

第一个方法:输出R源代码,运行时,将从新建立该对象。这针对大多数数据对象,但它可能没法重建一些更复杂的数据对象。版本控制

# 保存为文本格式,容易被 R 加载dump("data", "data.Rdmpd")# 能够保存多个对象dump(c("data", "data1"), "data.Rdmpd")# 从新加载数据 source("data.Rdmpd")# 当加载数据时,原始数据的名称将自动被使用

下一个方法是写出 RDS 格式的数据对象,这种格式能够是二进制的,也能够是 ASCII。二进制格式更紧凑,ASCII 格式在像 Git 版本控制系统时则更高效。orm

# 二进制 RDS 格式保存单个对象saveRDS(data, "data.rds")# 或者,用 ASCII 格式saveRDS(data, "data.rds", ascii=TRUE)# 从新加载数据data <- readRDS("data.rds")

用 RData 格式能够将多个对象保存到一个的文件.htm

# 二进制 RData 格式保存多个对象save(data, file="data.RData")# 或者,用 ASCII 格式save(data, file="data.RData", ascii=TRUE)# 能够保存多个对象save(data, data1, file="data.RData")# 从新加载数据load("data.RData")

saveRDS() 和 save()最重要的区别:当你用 saveRDS() 保存数据时,你指定对象的名称;当你用 save() 加载数据时,它将自动使用原始对象的名称。自动使用原始对象名称有时能够简化工做流程,可是当它在不一样的环境中使用将数据分配给其它对象时也是有缺点的。对象

最新最先最热ci

相关文章
相关标签/搜索