Hallo,
ich hatte zu diesem Thema ursprünglich einen 4 Monate altes Thema “wiederbelebt”, bin mir jedoch nicht sicher, ob das der richtige Weg war - daher nun hier ein neues Thema.
Das alte Thema ist hier zu finden: Variablen zum Studienfach (pgfield) und Hochschulabschluss (pgdegree) haben nicht bezeichnete Werte
Zum eigentlichen Problem: Beim Updaten von SOEP-Core v39 auf v40 ist mir folgendes aufgefallen:
In der Version v40 des SOEP-Core gibt es bei der Variable pgfield in pgen deutlich weniger nicht-fehlende Werte. In v39 waren es noch 81086, in v40 sind es nur noch 6599. Die “fehlenden” Werte scheinen in v40 vor allem als -1 (keine Antwort) und zum Teil als -2 (nicht zutreffend) kodiert zu sein, diese haben nun deutlich mehr Ausprägungen. Den R-Output jeweiligen Tabellen habe ich unten eingefügt.
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen kann, zu verstehen, was dort passiert ist und im Optimalfall die verloren gegangenen Werte wiederzubekommen.
Viele Grüße
Lucas
> # pgen (39 and 40 for comparison)
> pgen_39 <- readRDS("data/SOEP_v39/core/pgen.rds")
> pgen_v40 <- readRDS("data/SOEP_v40/core/pgen.rds")
> # non-missing values in both versions
> sum(!is.na(pgen_39$pgfield) & pgen_39$pgfield > 0)
[1] 81086
> sum(!is.na(pgen_v40$pgfield) & pgen_v40$pgfield > 0)
[1] 6599
>
> # compare pgen from v39 and v40
> table(pgen_39$pgfield, useNA = "always")
-3 -2 -1 1 2 3 4 5 6 7 8
370 645125 73631 596 7 45 365 562 291 945 200
9 10 11 12 13 14 15 16 17 18 19
1880 749 312 141 235 124 29 36 477 6 11
22 23 24 25 26 27 28 29 30 31 32
1088 458 15 582 999 3152 4075 2511 13960 1623 1275
33 36 37 38 39 40 41 42 43 44 48
14 261 1631 2485 1210 1502 690 1387 357 566 752
49 50 51 52 53 57 58 59 60 61 62
3213 525 303 3846 858 407 1262 344 424 2611 218
63 64 65 66 67 68 69 71 72 74 75
6246 3864 638 1495 152 2521 278 2 9 502 116
76 77 78 79 80 81 83 85 86 87 89
838 256 898 131 6 1 315 2 1 1 5
90 91 92 93 94 95 96 97 99 101 104
6 1 15 6 2 1 2 6 1 1 133
107 108 110 113 114 115 118 121 123 124 125
85 3 3 1 3 31 2 2 21 1 8
126 127 128 136 142 144 145 146 148 149 151
15 11 32 1 3 2 3 4 24 16 1
152 155 157 160 161 166 171 173 175 177 178
5 1 1 1 2 4 9 3 24 6 1
181 182 188 190 193 195 200 201 202 203 208
2 54 2 10 2 2 23 1 10 6 68
210 211 212 213 215 219 221 222 223 224 225
1 15 1 6 9 1 5 17 1 5 6
226 230 231 232 233 234 235 242 245 247 255
12 2 1 26 12 8 20 5 30 1 2
256 261 262 263 265 266 268 269 270 271 273
3 17 2 11 20 24 2 13 3 2 1
274 276 277 282 283 284 286 294 300 303 304
9 3 37 12 1 2 9 7 7 16 8
305 310 316 320 321 333 361 365 370 380 457
7 10 3 10 6 1 7 11 12 22 10
458 464 996 <NA>
7 2 8 0
> table(pgen_v40$pgfield, useNA = "always")
-3 -2 -1 1 2 3 4 5 6 7 8
155 659887 153719 66 21 4 33 69 5 87 3
9 10 11 12 13 14 15 16 17 22 23
105 118 32 30 24 8 164 273 10 85 73
24 25 26 27 28 29 30 31 36 37 38
2 72 110 189 162 223 1145 60 12 121 487
39 40 41 42 43 44 48 49 50 51 57
81 210 44 177 38 57 159 242 12 40 14
58 59 60 61 62 63 64 65 66 67 68
76 15 20 161 9 485 335 88 104 38 140
69 70 74 75 76 77 78 83 87 99 151
23 24 47 14 68 20 41 9 2 2 2
996 <NA>
9 0