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 不显示该信息。
我有一个由循环 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 不显示该信息。