当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R write.dbf 写入 DBF 文件


R语言 write.dbf 位于 foreign 包(package)。

说明

该函数尝试将数据帧写入 DBF 文件。

用法

write.dbf(dataframe, file, factor2char = TRUE, max_nchar = 254)

参数

dataframe

DataFrame 对象。

file

要写入的文件名。

factor2char

逻辑,默认 TRUE ,将因子列转换为字符:否则它们将被写为内部整数代码。

max_nchar

字符字段中允许的最大字符数。超过此范围的字符串将被截断并发出警告。查看具体信息。

细节

DBF 文件中列名中的点被下划线替换,并且名称被截断为 11 个字符。

只能写入 "logical""numeric""integer""character""factor""Date" 类的向量列。其他列应转换为其中之一。

数字的最大精度(包括减号和小数点在内的位数)为 19 - 小数位数(小数点后的位数),这是根据小数点前的位数在内部计算的。

原始 DBASE 格式将字符字段限制为 254 个字节。据说Clipper和FoxPro最多可以读取32K,并且可以编写一个最多可以接受65535字节的读取器。 (文档建议假定仅支持 ASCII 字符。)期望使用旧标准(包括 Excel 2003、Access 2003 和 OpenOffice 2.0)的读者会将字段截断为最大宽度模 256,因此增加 max_nchar 仅当您确定目标读者支持更宽的字符字段时。

看不见的NULL

注意

其他应用程序具有不同的能力来读取此处使用的数据类型。 Microsoft Access 读取 "numeric""integer""character""Date" 字段,包括识别缺失值,但不读取 "logical" (读为 0,-1 )。 Microsoft Excel 理解所有可能的类型,但没有正确解释字符字段中的缺失值(将它们显示为字符 null)。

例子

str(warpbreaks)
try1 <- paste(tempfile(), ".dbf", sep = "")
write.dbf(warpbreaks, try1, factor2char = FALSE)
in1 <- read.dbf(try1)
str(in1)
try2 <- paste(tempfile(), ".dbf", sep = "")
write.dbf(warpbreaks, try2, factor2char = TRUE)
in2 <- read.dbf(try2)
str(in2)
unlink(c(try1, try2))

作者

Nicholas J. Lewin-Koh, modified by Roger Bivand and Brian Ripley; shapelib by Frank Warmerdam.

参考

http://shapelib.maptools.org/

https://www.clicketyclick.dk/databases/xbase/format/data_types.html

也可以看看

read.dbf

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Write a DBF File。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。