I use this code
library(foreign)
rt<- read.dbf("rt001.dbf")
It creats more variable like ’ changed to: ‘X.’
Field name: ‘’ changed to: ‘X’
Field name: ‘’ changed to: ‘X.1’
Field name: ‘’ changed to: ‘X.2’
Field name: ‘’ changed to: ‘X.3’
Field name: ‘’ changed to: ‘X.4’
Field name: ‘’ changed to: ‘X.5’
Field name: ‘’ changed to: ‘X.6’
Also, it reduces observations such as if I have 120487 observation, I will give me just 12048.
How to solve this?
Normally, a reproducible example, called a reprex would be helpful, and it's always a good idea to include one, if possible. However, it's not always possible to run one, so I have to cut-and-paste.
Here's how it should work
>
> library(foreign)
> # from example
> x <- read.dbf(system.file("files/sids.dbf", package="foreign")[1])
> str(x)
'data.frame': 100 obs. of 14 variables:
$ AREA : num 0.114 0.061 0.143 0.07 0.153 0.097 0.062 0.091 0.118 0.124 ...
$ PERIMETER: num 1.44 1.23 1.63 2.97 2.21 ...
$ CNTY_ : int 1825 1827 1828 1831 1832 1833 1834 1835 1836 1837 ...
$ CNTY_ID : int 1825 1827 1828 1831 1832 1833 1834 1835 1836 1837 ...
$ NAME : Factor w/ 100 levels "Alamance","Alexander",..: 5 3 86 27 66 46 15 37 93 85 ...
$ FIPS : Factor w/ 100 levels "37001","37003",..: 5 3 86 27 66 46 15 37 93 85 ...
$ FIPSNO : int 37009 37005 37171 37053 37131 37091 37029 37073 37185 37169 ...
$ CRESS_ID : int 5 3 86 27 66 46 15 37 93 85 ...
$ BIR74 : num 1091 487 3188 508 1421 ...
$ SID74 : num 1 0 5 1 9 7 0 0 4 1 ...
$ NWBIR74 : num 10 10 208 123 1066 ...
$ BIR79 : num 1364 542 3616 830 1606 ...
$ SID79 : num 0 3 6 2 3 5 2 2 2 5 ...
$ NWBIR79 : num 19 12 260 145 1197 ...
- attr(*, "data_types")= chr "N" "N" "N" "N" ...
> summary(x)
AREA PERIMETER CNTY_ CNTY_ID NAME FIPS FIPSNO CRESS_ID
Min. :0.042 Min. :0.999 Min. :1825 Min. :1825 Alamance : 1 37001 : 1 Min. :37001 Min. : 1.0
1st Qu.:0.091 1st Qu.:1.324 1st Qu.:1902 1st Qu.:1902 Alexander: 1 37003 : 1 1st Qu.:37050 1st Qu.: 25.8
Median :0.120 Median :1.608 Median :1982 Median :1982 Alleghany: 1 37005 : 1 Median :37100 Median : 50.5
Mean :0.126 Mean :1.673 Mean :1986 Mean :1986 Anson : 1 37007 : 1 Mean :37100 Mean : 50.5
3rd Qu.:0.154 3rd Qu.:1.859 3rd Qu.:2067 3rd Qu.:2067 Ashe : 1 37009 : 1 3rd Qu.:37150 3rd Qu.: 75.2
Max. :0.241 Max. :3.640 Max. :2241 Max. :2241 Avery : 1 37011 : 1 Max. :37199 Max. :100.0
(Other) :94 (Other):94
BIR74 SID74 NWBIR74 BIR79 SID79 NWBIR79
Min. : 248 Min. : 0.00 Min. : 1 Min. : 319 Min. : 0.00 Min. : 3
1st Qu.: 1077 1st Qu.: 2.00 1st Qu.: 190 1st Qu.: 1336 1st Qu.: 2.00 1st Qu.: 250
Median : 2180 Median : 4.00 Median : 698 Median : 2636 Median : 5.00 Median : 874
Mean : 3300 Mean : 6.67 Mean :1051 Mean : 4224 Mean : 8.36 Mean : 1353
3rd Qu.: 3936 3rd Qu.: 8.25 3rd Qu.:1168 3rd Qu.: 4889 3rd Qu.:10.25 3rd Qu.: 1407
Max. :21588 Max. :44.00 Max. :8027 Max. :30757 Max. :57.00 Max. :11631
However,
The DBF format is documented but not much adhered to. There is is no guarantee this will read all DBF files.