tidyverse / haven

Read SPSS, Stata and SAS files from R
https://haven.tidyverse.org
Other
424 stars 117 forks source link

as_factor broken #100

Closed beamgau closed 9 years ago

beamgau commented 9 years ago

Hi,

i have a labelled column after an spss import, but s_factor seems to be somewhat broken, see example below. x and as_factor(x) seem to be totally different, i have no idea why. Would be great if you could look into this.

thanks, felix

x = structure(c(1021, 161, 160, 661, 270, 671, 1000, 411, 420, 620, 
            230, 761, 160, 800, 40, 230, 220, 161, 671, 421, 100, 161, 1021, 
            NA, 9980, 410, 1351, 9990, 661, 411, 161, 671, 270, 350, 1021, 
            421, 410, 421, 620, 9980, 40, 160, 1620, 90, 1020, 270, 671, 
            20, 420, 1021, 1180, NA, 421, 411, 420, 271, 40, 671, 160, 60, 
            9980, 421, 60, 160, 9981, 771, 671, 161, 160, 861, 101, 330, 
            601, 420, 251, 961, 1000, 1020, 230, 671, 161, 411, 411, 670, 
            230, NA, 200, 811, 161, 221, 60, 161, 401, 800, 421, 61, 9980, 
            411, 420, 9980), labels = structure(c(10, 11, 20, 21, 30, 31, 
                                                  40, 41, 50, 51, 60, 61, 70, 71, 80, 81, 90, 91, 100, 101, 110, 
                                                  111, 120, 121, 130, 131, 140, 141, 150, 151, 160, 161, 170, 171, 
                                                  180, 181, 190, 191, 200, 201, 210, 211, 220, 221, 230, 231, 240, 
                                                  241, 250, 251, 260, 261, 270, 271, 280, 281, 290, 291, 300, 301, 
                                                  310, 311, 320, 321, 330, 331, 340, 341, 350, 351, 360, 361, 370, 
                                                  371, 380, 381, 390, 391, 400, 401, 410, 411, 420, 421, 430, 431, 
                                                  440, 441, 450, 451, 460, 461, 470, 471, 480, 481, 490, 491, 500, 
                                                  501, 510, 511, 520, 521, 530, 531, 540, 541, 550, 551, 560, 561, 
                                                  570, 571, 580, 581, 590, 591, 600, 601, 610, 611, 620, 621, 630, 
                                                  631, 640, 641, 650, 651, 660, 661, 670, 671, 680, 681, 690, 691, 
                                                  700, 701, 710, 711, 720, 721, 730, 731, 740, 741, 750, 751, 760, 
                                                  761, 770, 771, 780, 781, 790, 791, 800, 801, 810, 811, 820, 821, 
                                                  830, 831, 840, 841, 850, 851, 860, 861, 870, 871, 890, 891, 900, 
                                                  901, 910, 911, 920, 921, 930, 931, 940, 941, 950, 951, 960, 961, 
                                                  970, 971, 980, 981, 990, 991, 1000, 1001, 1010, 1011, 1020, 1021, 
                                                  1030, 1031, 1040, 1041, 1050, 1051, 1060, 1061, 1070, 1071, 1080, 
                                                  1081, 1090, 1091, 1100, 1101, 1110, 1111, 1120, 1121, 1130, 1131, 
                                                  1140, 1141, 1150, 1151, 1160, 1161, 1170, 1171, 1180, 1181, 1190, 
                                                  1191, 1200, 1201, 1210, 1211, 1220, 1221, 1230, 1231, 1240, 1241, 
                                                  1250, 1251, 1260, 1261, 1270, 1271, 1280, 1281, 1290, 1291, 1300, 
                                                  1301, 1310, 1311, 1320, 1321, 1330, 1331, 1340, 1341, 1350, 1351, 
                                                  1360, 1361, 1370, 1371, 1380, 1381, 1390, 1391, 1400, 1401, 1410, 
                                                  1411, 1420, 1421, 1430, 1431, 1440, 1441, 1450, 1451, 1460, 1461, 
                                                  1470, 1471, 1480, 1481, 1490, 1491, 1500, 1501, 1510, 1511, 1520, 
                                                  1521, 1530, 1531, 1540, 1541, 1550, 1551, 1560, 1561, 1570, 1571, 
                                                  1580, 1581, 1590, 1591, 1600, 1601, 1610, 1611, 1620, 1621, 1630, 
                                                  1631, 1640, 1641, 1650, 1651, 9980, 9981, 9990, 9991), .Names = c("Achtsamkeitsbasierte Verfahren (aktuell angewendet)", 
                                                                                                                    "Achtsamkeitsbasierte Verfahren (Interesse geäußert)", "Agaricus (Agaricus blazei Murill) (aktuell angewendet)", 
                                                                                                                    "Agaricus (Agaricus blazei Murill) (Interesse geäußert)", "Akupressur (aktuell angewendet)", 
                                                                                                                    "Akupressur (Interesse geäußert)", "Akupunktur (aktuell angewendet)", 
                                                                                                                    "Akupunktur (Interesse geäußert)", "Aloe vera (aktuell angewendet)", 
                                                                                                                    "Aloe vera (Interesse geäußert)", "Aprikosenkerne (aktuell angewendet)", 
                                                                                                                    "Aprikosenkerne (Interesse geäußert)", "Arnika (Arnica montana) (aktuell angewendet)", 
                                                                                                                    "Arnika (Arnica montana) (Interesse geäußert)", "Aromatherapie (aktuell angewendet)", 
                                                                                                                    "Aromatherapie (Interesse geäußert)", "Atemübungen (aktuell angewendet)", 
                                                                                                                    "Atemübungen (Interesse geäußert)", "Autogenes Training (aktuell angewendet)", 
                                                                                                                    "Autogenes Training (Interesse geäußert)", "Ayurveda (aktuell angewendet)", 
                                                                                                                    "Ayurveda (Interesse geäußert)", "Bachblüten (aktuell angewendet)", 
                                                                                                                    "Bachblüten (Interesse geäußert)", "Baldrian (Valeriana) (aktuell angewendet)", 
                                                                                                                    "Baldrian (Valeriana) (Interesse geäußert)", "Balneotherapie (aktuell angewendet)", 
                                                                                                                    "Balneotherapie (Interesse geäußert)", "Beta-Karotin (aktuell angewendet)", 
                                                                                                                    "Beta-Karotin (Interesse geäußert)", "Bewegungstherapie (aktuell angewendet)", 
                                                                                                                    "Bewegungstherapie (Interesse geäußert)", "Bienenpollen (aktuell angewendet)", 
                                                                                                                    "Bienenpollen (Interesse geäußert)", "Biofeedback (aktuell angewendet)", 
                                                                                                                    "Biofeedback (Interesse geäußert)", "Bioresonanztherapie (aktuell angewendet)", 
                                                                                                                    "Bioresonanztherapie (Interesse geäußert)", "Brennnessel (Urtica dioica) (aktuell angewendet)", 
                                                                                                                    "Brennnessel (Urtica dioica) (Interesse geäußert)", "Breuss Diät (aktuell angewendet)", 
                                                                                                                    "Breuss Diät (Interesse geäußert)", "Budwig Diät (aktuell angewendet)", 
                                                                                                                    "Budwig Diät (Interesse geäußert)", "Calcium (aktuell angewendet)", 
                                                                                                                    "Calcium (Interesse geäußert)", "Cannabinoide (aktuell angewendet)", 
                                                                                                                    "Cannabinoide (Interesse geäußert)", "Coy Diät (aktuell angewendet)", 
                                                                                                                    "Coy Diät (Interesse geäußert)", "Chelat-Therapie (aktuell angewendet)", 
                                                                                                                    "Chelat-Therapie (Interesse geäußert)", "Chi Gong (aktuell angewendet)", 
                                                                                                                    "Chi Gong (Interesse geäußert)", "Chiropraktik (aktuell angewendet)", 
                                                                                                                    "Chiropraktik (Interesse geäußert)", "Chondroitinsulfat (aktuell angewendet)", 
                                                                                                                    "Chondroitinsulfat (Interesse geäußert)", "Cordyceps sinensis (aktuell angewendet)", 
                                                                                                                    "Cordyceps sinensis (Interesse geäußert)", "Coriolus versicolor (aktuell angewendet)", 
                                                                                                                    "Coriolus versicolor (Interesse geäußert)", "Craniosacraltherapie (aktuell angewendet)", 
                                                                                                                    "Craniosacraltherapie (Interesse geäußert)", "Darmsanierung (aktuell angewendet)", 
                                                                                                                    "Darmsanierung (Interesse geäußert)", "DCA (aktuell angewendet)", 
                                                                                                                    "DCA (Interesse geäußert)", "Eigenbluttherapie (aktuell angewendet)", 
                                                                                                                    "Eigenbluttherapie (Interesse geäußert)", "Elektro/Magnettherapie (aktuell angewendet)", 
                                                                                                                    "Elektro/Magnettherapie (Interesse geäußert)", "Elektrochemotherapie (ECT) (aktuell angewendet)", 
                                                                                                                    "Elektrochemotherapie (ECT) (Interesse geäußert)", "Energieheilung (aktuell angewendet)", 
                                                                                                                    "Energieheilung (Interesse geäußert)", "Entgiftung (aktuell angewendet)", 
                                                                                                                    "Entgiftung (Interesse geäußert)", "Entspannungsverfahren (aktuell angewendet)", 
                                                                                                                    "Entspannungsverfahren (Interesse geäußert)", "Enzymtherapie (systemisch) (aktuell angewendet)", 
                                                                                                                    "Enzymtherapie (systemisch) (Interesse geäußert)", "Ernährungsumstellung (aktuell angewendet)", 
                                                                                                                    "Ernährungsumstellung (Interesse geäußert)", "Essiac (aktuell angewendet)", 
                                                                                                                    "Essiac (Interesse geäußert)", "Factor AF2 (aktuell angewendet)", 
                                                                                                                    "Factor AF2 (Interesse geäußert)", "Fango (aktuell angewendet)", 
                                                                                                                    "Fango (Interesse geäußert)", "Fasten (aktuell angewendet)", 
                                                                                                                    "Fasten (Interesse geäußert)", "Feldenkrais (aktuell angewendet)", 
                                                                                                                    "Feldenkrais (Interesse geäußert)", "Fiebertherapie (aktuell angewendet)", 
                                                                                                                    "Fiebertherapie (Interesse geäußert)", "Fischöl (aktuell angewendet)", 
                                                                                                                    "Fischöl (Interesse geäußert)", "Flohsamen(schalen) (aktuell angewendet)", 
                                                                                                                    "Flohsamen(schalen) (Interesse geäußert)", "Galavit (aktuell angewendet)", 
                                                                                                                    "Galavit (Interesse geäußert)", "Galvanotherapie (aktuell angewendet)", 
                                                                                                                    "Galvanotherapie (Interesse geäußert)", "Gebete (aktuell angewendet)", 
                                                                                                                    "Gebete (Interesse geäußert)", "Geistheilung (aktuell angewendet)", 
                                                                                                                    "Geistheilung (Interesse geäußert)", "Gelee royale (aktuell angewendet)", 
                                                                                                                    "Gelee royale (Interesse geäußert)", "Gerson Diät (aktuell angewendet)", 
                                                                                                                    "Gerson Diät (Interesse geäußert)", "Ginkgo biloba (aktuell angewendet)", 
                                                                                                                    "Ginkgo biloba (Interesse geäußert)", "Ginseng (Panax spp.) (aktuell angewendet)", 
                                                                                                                    "Ginseng (Panax spp.) (Interesse geäußert)", "Glucosamine (aktuell angewendet)", 
                                                                                                                    "Glucosamine (Interesse geäußert)", "Glutathion (aktuell angewendet)", 
                                                                                                                    "Glutathion (Interesse geäußert)", "Granatapfel (Punica granatum) (aktuell angewendet)", 
                                                                                                                    "Granatapfel (Punica granatum) (Interesse geäußert)", "Grüner Tee (Camellia sinensis) (aktuell angewendet)", 
                                                                                                                    "Grüner Tee (Camellia sinensis) (Interesse geäußert)", "Haifischknorpel (aktuell angewendet)", 
                                                                                                                    "Haifischknorpel (Interesse geäußert)", "Handauflegen (aktuell angewendet)", 
                                                                                                                    "Handauflegen (Interesse geäußert)", "Honig (aktuell angewendet)", 
                                                                                                                    "Honig (Interesse geäußert)", "Homöopathie (aktuell angewendet)", 
                                                                                                                    "Homöopathie (Interesse geäußert)", "Hyperthermie (passiv) (aktuell angewendet)", 
                                                                                                                    "Hyperthermie (passiv) (Interesse geäußert)", "Hypnotherapie (aktuell angewendet)", 
                                                                                                                    "Hypnotherapie (Interesse geäußert)", "Ingwer (Zingiber officinalis) (aktuell angewendet)", 
                                                                                                                    "Ingwer (Zingiber officinalis) (Interesse geäußert)", "Insulin-potenzierte Therapie (aktuell angewendet)", 
                                                                                                                    "Insulin-potenzierte Therapie (Interesse geäußert)", "Jod (aktuell angewendet)", 
                                                                                                                    "Jod (Interesse geäußert)", "Johanniskraut (Hypericum spp.) (aktuell angewendet)", 
                                                                                                                    "Johanniskraut (Hypericum spp.) (Interesse geäußert)", "Kalium (aktuell angewendet)", 
                                                                                                                    "Kalium (Interesse geäußert)", "Kalorienreduzierte Diät (aktuell angewendet)", 
                                                                                                                    "Kalorienreduzierte Diät (Interesse geäußert)", "Kamille (Matricaria chamomilla) (aktuell angewendet)", 
                                                                                                                    "Kamille (Matricaria chamomilla) (Interesse geäußert)", "Katzenkralle (Uncaria tomentosa) (aktuell angewendet)", 
                                                                                                                    "Katzenkralle (Uncaria tomentosa) (Interesse geäußert)", "Ketogene Diät (aktuell angewendet)", 
                                                                                                                    "Ketogene Diät (Interesse geäußert)", "Kinesiologie (aktuell angewendet)", 
                                                                                                                    "Kinesiologie (Interesse geäußert)", "Knoblauch (Allium sativum) (aktuell angewendet)", 
                                                                                                                    "Knoblauch (Allium sativum) (Interesse geäußert)", "Coenzym Q10 (aktuell angewendet)", 
                                                                                                                    "Coenzym Q10 (Interesse geäußert)", "Körperliches Training (aktuell angewendet)", 
                                                                                                                    "Körperliches Training (Interesse geäußert)", "Kristalltherapie (aktuell angewendet)", 
                                                                                                                    "Kristalltherapie (Interesse geäußert)", "Kunsttherapie (aktuell angewendet)", 
                                                                                                                    "Kunsttherapie (Interesse geäußert)", "Kupfer (aktuell angewendet)", 
                                                                                                                    "Kupfer (Interesse geäußert)", "Kürbiskerne (aktuell angewendet)", 
                                                                                                                    "Kürbiskerne (Interesse geäußert)", "Laetrile (aktuell angewendet)", 
                                                                                                                    "Laetrile (Interesse geäußert)", "Lavendel (Lavandula angustifolia) (aktuell angewendet)", 
                                                                                                                    "Lavendel (Lavandula angustifolia) (Interesse geäußert)", "Lecithin (aktuell angewendet)", 
                                                                                                                    "Lecithin (Interesse geäußert)", "Leinsamen (Linum usitatissimum) (aktuell angewendet)", 
                                                                                                                    "Leinsamen (Linum usitatissimum) (Interesse geäußert)", "Magnesium (aktuell angewendet)", 
                                                                                                                    "Magnesium (Interesse geäußert)", "Magnetfeldtherapie (aktuell angewendet)", 
                                                                                                                    "Magnetfeldtherapie (Interesse geäußert)", "Maitake (Grifola frondosa) (aktuell angewendet)", 
                                                                                                                    "Maitake (Grifola frondosa) (Interesse geäußert)", "Makrobiotische Diät (aktuell angewendet)", 
                                                                                                                    "Makrobiotische Diät (Interesse geäußert)", "Manualtherapie (aktuell angewendet)", 
                                                                                                                    "Manualtherapie (Interesse geäußert)", "Mariendistel (Silybum marianum) (aktuell angewendet)", 
                                                                                                                    "Mariendistel (Silybum marianum) (Interesse geäußert)", "Massage (aktuell angewendet)", 
                                                                                                                    "Massage (Interesse geäußert)", "Meditation (aktuell angewendet)", 
                                                                                                                    "Meditation (Interesse geäußert)", "Melatonin (aktuell angewendet)", 
                                                                                                                    "Melatonin (Interesse geäußert)", "Mineralstoffe, Kombinationspräparat (aktuell angewendet)", 
                                                                                                                    "Mineralstoffe, Kombinationspräparat (Interesse geäußert)", "Pfefferminze (Mentha spp.) (aktuell angewendet)", 
                                                                                                                    "Pfefferminze (Mentha spp.) (Interesse geäußert)", "Mistel (Viscum album) (aktuell angewendet)", 
                                                                                                                    "Mistel (Viscum album) (Interesse geäußert)", "Moerman Diät (aktuell angewendet)", 
                                                                                                                    "Moerman Diät (Interesse geäußert)", "Musiktherapie (aktuell angewendet)", 
                                                                                                                    "Musiktherapie (Interesse geäußert)", "Nachtkerzenöl (Oenothera biennis) (aktuell angewendet)", 
                                                                                                                    "Nachtkerzenöl (Oenothera biennis) (Interesse geäußert)", "Nahrungsergänzungsmittel (Vit/Min), kombiniert (aktuell angewendet)", 
                                                                                                                    "Nahrungsergänzungsmittel (Vit/Min), kombiniert (Interesse geäußert)", 
                                                                                                                    "Nahrungsergänzungsmittel, pflanzlich (aktuell angewendet)", 
                                                                                                                    "Nahrungsergänzungsmittel, pflanzlich (Interesse geäußert)", 
                                                                                                                    "Neuraltherapie (aktuell angewendet)", "Neuraltherapie (Interesse geäußert)", 
                                                                                                                    "Omega-3 Fettsäuren (aktuell angewendet)", "Omega-3 Fettsäuren (Interesse geäußert)", 
                                                                                                                    "Omega-6 Fettsäuren (aktuell angewendet)", "Omega-6 Fettsäuren (Interesse geäußert)", 
                                                                                                                    "Organextrakte (aktuell angewendet)", "Organextrakte (Interesse geäußert)", 
                                                                                                                    "Osteopathie (aktuell angewendet)", "Osteopathie (Interesse geäußert)", 
                                                                                                                    "Ozontherapie (aktuell angewendet)", "Ozontherapie (Interesse geäußert)", 
                                                                                                                    "Lapacho (Pau d’arco) (aktuell angewendet)", "Lapacho (Pau d’arco) (Interesse geäußert)", 
                                                                                                                    "PC-SPES (aktuell angewendet)", "PC-SPES (Interesse geäußert)", 
                                                                                                                    "Phytotherapie (aktuell angewendet)", "Phytotherapie (Interesse geäußert)", 
                                                                                                                    "Physiotherapie (aktuell angewendet)", "Physiotherapie (Interesse geäußert)", 
                                                                                                                    "Pilze/Heilpilze, allgemein (aktuell angewendet)", "Pilze/Heilpilze, allgemein (Interesse geäußert)", 
                                                                                                                    "Präbiotika (aktuell angewendet)", "Präbiotika (Interesse geäußert)", 
                                                                                                                    "Probiotika (aktuell angewendet)", "Probiotika (Interesse geäußert)", 
                                                                                                                    "Propolis (aktuell angewendet)", "Propolis (Interesse geäußert)", 
                                                                                                                    "Qigong (aktuell angewendet)", "Qigong (Interesse geäußert)", 
                                                                                                                    "Reflexologie (aktuell angewendet)", "Reflexologie (Interesse geäußert)", 
                                                                                                                    "Reflexzonenmassage (aktuell angewendet)", "Reflexzonenmassage (Interesse geäußert)", 
                                                                                                                    "Reiki (aktuell angewendet)", "Reiki (Interesse geäußert)", "Reishi (Ganoderma lucidum) (aktuell angewendet)", 
                                                                                                                    "Reishi (Ganoderma lucidum) (Interesse geäußert)", "Ringelblume (Calendula officinalis) (aktuell angewendet)", 
                                                                                                                    "Ringelblume (Calendula officinalis) (Interesse geäußert)", "Rotklee   (Trifolium pratense) (aktuell angewendet)", 
                                                                                                                    "Rotklee   (Trifolium pratense) (Interesse geäußert)", "Safran (aktuell angewendet)", 
                                                                                                                    "Safran (Interesse geäußert)", "Sägepalme (Serenoa repens) (aktuell angewendet)", 
                                                                                                                    "Sägepalme (Serenoa repens) (Interesse geäußert)", "Sauerstofftherapie (aktuell angewendet)", 
                                                                                                                    "Sauerstofftherapie (Interesse geäußert)", "Schlangengift (aktuell angewendet)", 
                                                                                                                    "Schlangengift (Interesse geäußert)", "Schröpfen (aktuell angewendet)", 
                                                                                                                    "Schröpfen (Interesse geäußert)", "Schüsslersalze (aktuell angewendet)", 
                                                                                                                    "Schüsslersalze (Interesse geäußert)", "Selen (aktuell angewendet)", 
                                                                                                                    "Selen (Interesse geäußert)", "Senna (aktuell angewendet)", "Senna (Interesse geäußert)", 
                                                                                                                    "Shiatsu (aktuell angewendet)", "Shiatsu (Interesse geäußert)", 
                                                                                                                    "Shiitake (Lentinula edodes) (aktuell angewendet)", "Shiitake (Lentinula edodes) (Interesse geäußert)", 
                                                                                                                    "Sojaprodukte (aktuell angewendet)", "Sojaprodukte (Interesse geäußert)", 
                                                                                                                    "Sonnenhut (Echinacea spp.) (aktuell angewendet)", "Sonnenhut (Echinacea spp.) (Interesse geäußert)", 
                                                                                                                    "SPES (aktuell angewendet)", "SPES (Interesse geäußert)", "Spinnengift (aktuell angewendet)", 
                                                                                                                    "Spinnengift (Interesse geäußert)", "Spurenelemente (aktuell angewendet)", 
                                                                                                                    "Spurenelemente (Interesse geäußert)", "Tai Chi (aktuell angewendet)", 
                                                                                                                    "Tai Chi (Interesse geäußert)", "TCM Pharmakotherapie (aktuell angewendet)", 
                                                                                                                    "TCM Pharmakotherapie (Interesse geäußert)", "Thymian (aktuell angewendet)", 
                                                                                                                    "Thymian (Interesse geäußert)", "Thymuspeptide (aktuell angewendet)", 
                                                                                                                    "Thymuspeptide (Interesse geäußert)", "Traubenkernextrakt (Vitis vinifera) (aktuell angewendet)", 
                                                                                                                    "Traubenkernextrakt (Vitis vinifera) (Interesse geäußert)", "Traubensilberkerze (Actaea racemosa) (aktuell angewendet)", 
                                                                                                                    "Traubensilberkerze (Actaea racemosa) (Interesse geäußert)", 
                                                                                                                    "Ukrain (aktuell angewendet)", "Ukrain (Interesse geäußert)", 
                                                                                                                    "Viren, onkolytische (aktuell angewendet)", "Viren, onkolytische (Interesse geäußert)", 
                                                                                                                    "Visualisierung (aktuell angewendet)", "Visualisierung (Interesse geäußert)", 
                                                                                                                    "Vitamin A (aktuell angewendet)", "Vitamin A (Interesse geäußert)", 
                                                                                                                    "Vitamin B Gruppe (aktuell angewendet)", "Vitamin B Gruppe (Interesse geäußert)", 
                                                                                                                    "Vitamin C (aktuell angewendet)", "Vitamin C (Interesse geäußert)", 
                                                                                                                    "Vitamin D (aktuell angewendet)", "Vitamin D (Interesse geäußert)", 
                                                                                                                    "Vitamin E (aktuell angewendet)", "Vitamin E (Interesse geäußert)", 
                                                                                                                    "Vitamine, Kombinationspräparat (aktuell angewendet)", "Vitamine, Kombinationspräparat (Interesse geäußert)", 
                                                                                                                    "Weihrauch (Boswellia spp.) (aktuell angewendet)", "Weihrauch (Boswellia spp.) (Interesse geäußert)", 
                                                                                                                    "Weizengras (aktuell angewendet)", "Weizengras (Interesse geäußert)", 
                                                                                                                    "Weizenkeimextrakt (aktuell angewendet)", "Weizenkeimextrakt (Interesse geäußert)", 
                                                                                                                    "Artemisia annua (Beifuß) (aktuell angewendet)", "Artemisia annua (Beifuß) (Interesse geäußert)", 
                                                                                                                    "Yoga (aktuell angewendet)", "Yoga (Interesse geäußert)", "Zelltherapie (aktuell angewendet)", 
                                                                                                                    "Zelltherapie (Interesse geäußert)", "Zink (aktuell angewendet)", 
                                                                                                                    "Zink (Interesse geäußert)", "keine (aktuell angewendet)", "keine (Interesse geäußert)", 
                                                                                                                    "weitere (aktuell angewendet)", "weitere (Interesse geäußert)"
                                                  )), class = "labelled")
cbind(x, as_factor(x))

R version 3.2.1 (2015-06-18) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1

locale: [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
[5] LC_TIME=German_Germany.1252

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] haven_0.2.0

loaded via a namespace (and not attached): [1] tools_3.2.1 Rcpp_0.12.0

larmarange commented 9 years ago

The error is in cbind(x, as_factor(x)). It creates a matrix with x and the equivalent of as.integer(as_factor(x)). Then you transform a labelled vector to a factor, the original codes are lost (in R, you can't control the underlined integer codes associated to a label in a factor).

If I check your x vector. The first value is 1021. According to your definitions, the associated label is "Mistel (Viscum album) (Interesse geäußert)".

If I do > as_factor(x)[1], I get [1] Mistel (Viscum album) (Interesse geäußert). Which is correct. The appropriate value label has been assigned to the appropriate factor level.

beamgau commented 9 years ago

Hm, doesn't work for me. I get the wrong labels. Seems to have something to do with 1/0?

library(haven)

x = structure(c(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1),
      labels = structure(c(0,1), .Names = c("Nein", "Ja")), class = "labelled")

> x
<Labelled>
[1] 0 0 0 0 0 0 1 0 0 0 1
Labels:
Nein   Ja 
0    1 

but as_factor codes 0 as Ja and 1 as NA:

data.frame(x, as_factor(x))

        x      as_factor.x.
1       0           Ja
2       0           Ja
3       0           Ja
4       0           Ja
5       0           Ja
6       0           Ja
7       1         <NA>
8       0           Ja
9       0           Ja
10      0           Ja
11      1         <NA>
str(x)
Class 'labelled'  atomic [1:11] 0 0 0 0 0 0 1 0 0 0 ...
 ..- attr(*, "labels")= Named num [1:2] 0 1
  .. ..- attr(*, "names")= chr [1:2] "Nein" "Ja"
sessionInfo()

R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
 [1] lubridate_1.3.3    tableone_0.7.1     colorRamps_2.3    
 [4] RColorBrewer_1.1-2 ggplot2_1.0.1      reshape_0.8.5     
 [7] pander_0.5.2       plyr_1.8.3         zoo_1.7-12        
[10] haven_0.2.0        knitr_1.10.5      

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.0      survey_3.30-3    magrittr_1.5     MASS_7.3-43     
 [5] munsell_0.4.2    colorspace_1.2-6 lattice_0.20-33  stringr_1.0.0   
 [9] tools_3.2.2      gtable_0.1.2     e1071_1.6-7      htmltools_0.2.6 
[13] class_7.3-13     yaml_2.1.13      digest_0.6.8     formatR_1.2     
[17] reshape2_1.4.1   codetools_0.2-14 evaluate_0.7.2   memoise_0.2.1   
[21] rmarkdown_0.7    labeling_0.3     stringi_0.5-5    scales_0.2.5    
[25] proto_0.3-10    

I have the same issue in a lubuntu vm. can you reproduce this behaviour?

thanks for looking into this!

larmarange commented 9 years ago

It seems that you are using the stable version of haven. For your tests, you should use the last GitHub version.

devtools::install_github("hadley/haven")

Secondly, the structure of labelled vectors has changed to take into account missing value.

It would be better to create your labelled vector with the appropriate labelled function, i.e.

x <- labelled(c(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1), c(Nein = 0, Ja = 1))

Do you still have this issue with the last dev version?

beamgau commented 9 years ago

Ah, thanks, it works with the dev version!

 structure(c(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1),
  labels = structure(c(0,1), .Names = c("Nein", "Ja")), class = "labelled")

was just what i got from dput().

Thanks again! felix