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

R : write.dbf() changes my dataframe columns' names

我有一个由循环 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 (… do not alter or delete the first row in the imported file. This row contains information that is required by a dBASE database) and Connecting dBase (xBase)。旁注:Excel 不显示该信息。