SPSS values automatisch recoden

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • bluesh4rk
  • Registratie: Maart 2017
  • Laatst online: 17-09 17:24
Hoi allemaal,

Voor mijn stageonderzoek heb ik via Google Forms een enquête onder huidige klanten gehouden. Een van de vragen daarin is op welke dag(en) klanten het vaakst de winkel bezoeken (multiple choice). Echter exporteert Google iedere antwoordcombinatie als een apart antwoord. Dit maakt het onmogelijk om hiermee te werken in SPSS. Zoals mensen die regelmatig met SPSS werken wel weten, moeten multiple choice vragen op een speciale manier ingevoerd worden. Ik heb al op verschillende fora gekeken maar het is me helaas nog niet gelukt. Ik heb zo'n 400 respondenten dus handmatig is ook geen optie. Mijn vraag is dan ook of iemand weet hoe SPSS (of desnoods Excel) dit automatisch kan doen. Ter verduidelijking een voorbeeld:

Afbeeldingslocatie: http://i68.tinypic.com/1rtgsy.png

[ Voor 3% gewijzigd door bluesh4rk op 04-05-2017 16:23 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 08:00
je plaatje is erg klein en niet klikbaar...

Acties:
  • 0 Henk 'm!

  • bluesh4rk
  • Registratie: Maart 2017
  • Laatst online: 17-09 17:24
breew schreef op donderdag 4 mei 2017 @ 16:14:
je plaatje is erg klein en niet klikbaar...
Ik zag het, nu is hij wat groter.

Acties:
  • 0 Henk 'm!

  • O88088
  • Registratie: Februari 2011
  • Laatst online: 01-10 20:14
Is handmatig invoeren echt geen optie? Ik neem aan dat Google de dagen wel netjes op volgorde exporteert? Dan kun je volgens mij per dag of het voorkomt in het antwoord en dan een 1 of 0 invoeren. Kost misschien een paar uur maar soms is domweg handmatig werken sneller dan er een digitale oplossing voor zoeken. Het probleem is dat SPSS kijkt naar hele antwoorden waardoor coderen niet makkelijk zal zijn zonder alle mogelijke combinaties in te voeren.

Acties:
  • 0 Henk 'm!

  • bluesh4rk
  • Registratie: Maart 2017
  • Laatst online: 17-09 17:24
O88088 schreef op donderdag 4 mei 2017 @ 16:28:
Is handmatig invoeren echt geen optie? Ik neem aan dat Google de dagen wel netjes op volgorde exporteert? Dan kun je volgens mij per dag of het voorkomt in het antwoord en dan een 1 of 0 invoeren. Kost misschien een paar uur maar soms is domweg handmatig werken sneller dan er een digitale oplossing voor zoeken. Het probleem is dat SPSS kijkt naar hele antwoorden waardoor coderen niet makkelijk zal zijn zonder alle mogelijke combinaties in te voeren.
Handmatig invoeren is natuurlijk wel een optie maar ik heb nog zo'n zelfde soort vraag waardoor ik denk ik al gauw een halve dag nullen en enen zit te typen... En als iemand hier ook al eens met dat bijltje gehakt heeft en hier een oplossing voor heeft scheelt mij dat natuurlijk heel veel tijd en moeite.

Acties:
  • 0 Henk 'm!

  • Axewi
  • Registratie: Maart 2009
  • Laatst online: 01-10 16:51
bluesh4rk schreef op donderdag 4 mei 2017 @ 16:34:
[...]


Handmatig invoeren is natuurlijk wel een optie maar ik heb nog zo'n zelfde soort vraag waardoor ik denk ik al gauw een halve dag nullen en enen zit te typen... En als iemand hier ook al eens met dat bijltje gehakt heeft en hier een oplossing voor heeft scheelt mij dat natuurlijk heel veel tijd en moeite.
Je kan een nieuwe tabel maken met de "som.als" functie in excel https://support.office.co...27-480c-9119-eb644f1e847e

Dit vereist wel dat de "dagen" allemaal in een eigen cell staan. Dit zou je kunnen scheiden door met powershell de excel file uit te lezen, te scheiden op een seperator de "," in jouw geval en opnieuw op te slaan.

Afbeeldingslocatie: https://i.imgur.com/SsbDrow.png

[ Voor 9% gewijzigd door Axewi op 04-05-2017 16:41 ]

Als de lat te hoog ligt kun je er nog altijd onderdoor lopen.


Acties:
  • 0 Henk 'm!

  • bluesh4rk
  • Registratie: Maart 2017
  • Laatst online: 17-09 17:24
Hoi Axewi,

Bedankt voor je antwoord. Het probleem is alleen dat ik niet de totalen per dag moet weten maar dat ieder antwoord in zijn eigen rij moet blijven staan (zoals in het voorbeeld). Iedere rij stelt namelijk een respondent voor, wat belangrijk is voor het verwerken van de gegevens.

Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 08:00
Ik denk meteen aan een macrootje in excel (vba)

Snel in elkaar geflanste oplossing, maar het werkt :)
het kan veel compacter, maar zo is wel lekker duidelijk wat er gebeurt.

Google over hoe je dit in excel toe kunt passen (tip: ALT-F11)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit

Sub madiwodovrzazo()

Dim c As range

For Each c In selection
  If InStr(c.Value, "maandag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 1).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 1).Value = 0
  If InStr(c.Value, "dinsdag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 2).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 2).Value = 0
  If InStr(c.Value, "woensdag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 3).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 3).Value = 0
  If InStr(c.Value, "donderdag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 4).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 4).Value = 0
  If InStr(c.Value, "vrijdag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 5).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 5).Value = 0
  If InStr(c.Value, "zaterdag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 6).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 6).Value = 0
  If InStr(c.Value, "zondag") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 7).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 7).Value = 0
  If InStr(c.Value, "geen") > 0 Then ActiveSheet.Cells(c.Row, c.Column + 8).Value = 1 Else ActiveSheet.Cells(c.Row, c.Column + 8).Value = 0
Next c

End Sub


werking:
Selecteer de cellen met de "maandag, dinsdag, ...", en draai de macro.
In de kolommen daarachter krijg je vervolgens den 0-1-waarden.

LET OP: de 8 kolommen links rechts van jouw waarden met ("maandag-dinsdag,...) worden overschreven met 0-en en 1-en. Zorg dat daar dus geen data staat die niet overschreven mag worden! Een éénmaal gedraaide macro kun je niet undo-en! Werk altijd in een kopie van het origineel!

[ Voor 12% gewijzigd door breew op 04-05-2017 16:56 . Reden: verwisseling van links en rechts :) ]


Acties:
  • +1 Henk 'm!

  • Axewi
  • Registratie: Maart 2009
  • Laatst online: 01-10 16:51
bluesh4rk schreef op donderdag 4 mei 2017 @ 16:43:
Hoi Axewi,

Bedankt voor je antwoord. Het probleem is alleen dat ik niet de totalen per dag moet weten maar dat ieder antwoord in zijn eigen rij moet blijven staan (zoals in het voorbeeld). Iedere rij stelt namelijk een respondent voor, wat belangrijk is voor het verwerken van de gegevens.
Je kan ook aan de slag met "als" en "vind" maar een macro is misschien wel zo handig.

http://www.helpmij.nl/for...-ALS-bevat-gedeelte-tekst

Als de lat te hoog ligt kun je er nog altijd onderdoor lopen.


Acties:
  • 0 Henk 'm!

  • bluesh4rk
  • Registratie: Maart 2017
  • Laatst online: 17-09 17:24
@breew Allereerst super bedankt dat je er zoveel moeite in gestopt hebt. Helaas is het me op deze manier niet gelukt (kan aan mij liggen). Ik kreeg in eerste instantie alleen maar nullen. Enkele seconden daarna liep Excel vast.

Ik heb hierna het idee van @Axewi gebruikt. Na wat gepruts is het me via een extreem omslachtige manier gelukt. Maarja het belangrijkste is dat het gelukt is.

Nogmaals iedereen bedankt voor de hulp!
Pagina: 1