R : write. dbf() 更改了我的数据框列的名称

标签 r linux dataframe dbf

我有一个由 foreach(..., .combine= rbind) 循环制成的数据框对象。命名其列后,由于 write.dbf 函数,我将其保存在 .dbf 文件中。但是当我在 LibreOffice Calc 中打开匹配文件时,我的列名发生了变化,并且附加了一些“,N,19,9”、“,N,5,0”或“,N,19,10”(等)给他们。

我正在使用 Linux Fedora 机器和 RStudio 工作。

  > c("ID","X","Y",unlist(LU_Named),paste(animalUsed,"_p",sep=""),"Alti_me20","Alti_ra20","Slope_me20","Slope_ra20")

  > print(names(datF_output))

  > write.dbf(datF_output, paste(Base2OutPath,"rANIMALS",sep = "/"), factor2char = FALSE, max_nchar = 254)

print(namesdatF_output)) 给我正确的名字:

[1] "ID"           "X"            "Y"            "broad_AR"     "conif_AR"    
 [6] "arable_AR"    "imprg_AR"     "rough_AR"     "neutrg_AR"    "calcg_AR"    
[11] "acidg_AR"     "fen_AR"       "heath_AR"     "heathg_AR"    "bog_AR"      
[16] "monta_AR"     "inroc_AR"     "saltwat_AR"   "freshw_AR"    "slitro_AR"   
[21] "slitse_AR"    "litroc_AR"    "litsed_AR"    "saltma_AR"    "urban_AR"    
[26] "suburb_AR"    "Sheep_2003_p" "Alti_me20"    "Alti_ra20"    "Slope_me20"  
[31] "Slope_ra20" 

但我文件中的名称是:

ID,N,5,0    X,N,19,10   Y,N,19,9    broad_AR,N,19,9 conif_AR,N,19,9 arable_AR,N,19,9    imprg_AR,N,19,9 rough_AR,N,19,10    neutrg_AR,N,19,10   calcg_AR,N,19,9 acidg_AR,N,19,10    fen_AR,N,19,11  heath_AR,N,19,9 heathg_AR,N,19,11   bog_AR,N,19,9   monta_AR,N,19,10    inroc_AR,N,19,9 saltwat_AR,N,19,10  freshw_AR,N,19,9    slitro_AR,N,19,10   slitse_AR,N,19,10   litroc_AR,N,19,15   litsed_AR,N,19,11   saltma_AR,N,19,9    urban_AR,N,19,10    suburb_AR,N,19,11   Sheep_2003,N,19,13  Alti_me20,N,19,13   Alti_ra20,N,19,13   Slope_me20,N,19,14  Slope_ra20,N,19,14

最佳答案

write.dbf() changes my dataframe columns' names

不,它没有;只是 LibreOffice/OpenOffice 以一种将附加信息(字段类型、宽度和小数)附加到名称的方式处理 DBF 文件,cf。 Importing and Exporting dBASE Files (...不要更改或删除导入文件中的第一行。此行包含 dBASE 数据库所需的信息)和 Connecting dBase (xBase) .旁注:Excel 不显示该信息。

关于R : write. dbf() 更改了我的数据框列的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292947/

相关文章:

r - 如何 rbind 匹配其列名的向量?

linux - 如何在标准输出中使用 'patch' 命令?

python - 计算 dask 数据框中 2 个日期时间列之间的天数

python - 按 Pandas Dataframe 中列中的条目进行分组

python - 如何将值从 Python Pandas 中的多个字典对象插入到数据帧中

memory - R 的 GC 和内存限制问题

用平均值替换 R 中的缺失值

r - 如何使用 R 计算 Tanimoto/Jacquard Score 作为距离矩阵

linux - 连接到特定无线网络时运行命令

linux - 如何在系统启动时 pull git 存储库的最新版本