Werk & Studie alle pijlers

SPSS-vraagje

28-10-2011 17:13 36 berichten
Alle reacties Link kopieren
Normaal kan ik wel redelijk overweg met SPSS, maar nu heb ik eigenlijk geen idee of dit überhaupt wel mogelijk is.



Ik heb een dataverzameling. Per onafhankelijke variabele 1 en variabele 2 heb/wil ik minimaal 50 genummerde datapunten. Dus datapunt 1 heeft een waarde (voor variabele x, y, z), datapunt 2, datapunt 3. Elke van deze datapunten staan in een aparte rij en x, y, z in aparte kolommen. Nou hebben sommige combinaties van variabelen niet 50, maar minder datapunten. Wat ik zou willen is dat als er minder dan 50 datapunten zijn, bijvoorbeeld 45, datapunten 46-50 worden toegevoegd met standaardwaardes voor x, y, z. SPSS zou dus moeten kijken of elke combinatie van variabele 1 en 2 minder dan 50 punten heeft en zo ja, rijen toe moeten voegen met deze standaardwaarden.



Heeft iemand enig idee of dat mogelijk is? En zo ja, hoe dat kan? Het is een nogal grote dataset, dus handmatig toevoegen zou ontzettend lang duren. Het klinkt alsof het in ieder geval programmeerbaar zou moeten zijn, maar omdat ik geen held ben met scripten, hoop ik stiekem dat SPSS dit ook kan. Suggesties?
If at first you don’t succeed, call it version 1.0
Ha Daffodil,



Ik snap je uitleg niet helemaal... je wilt in totaal dus 150 values hebben? Namelijk waarden voor x y en z (kolommen) voor 50 cases (rijen). Maar wat bedoel je dan met die twee onafhankelijke variabelen? Of snap ik het toch niet?



Kijk eens of je wat kunt met Transform - recode into same variables - select variabele - old and new values, check system missing als old variabele en voeg de gewenste standaardwaarde in in het vak new value.
Alle reacties Link kopieren
Ja, 150 values per combinatie van variabele 1 en 2 (en er zijn 2048 combinaties).



Het probleem is dat de missing variables niet in de dataset staan. Dus als er minder dan 50 cases zijn, staat case 1-45 (bijvoorbeeld) mooi in de set, maar na case 45 begint case 1 van de volgende combinatie. Er moeten dus echt rijen toegevoegd worden (en dat kan voor zover ik weet niet met recode).
If at first you don’t succeed, call it version 1.0
dat is duidelijker. Voor de zekerheid: het gaat dus om combinaties van waarden van variabele 1 en 2 (y & z? terwijl x de nummering van de cases is?), en voor iedere combi moeten er uitiendelijk vijftig cases zijn, dus in total 102400 cases?



*begint met nadenken*
Alle reacties Link kopieren
*zegt uhhhh....*
nee, wacht even, toch niet. Honderdvijftig values voor iedere combi, maar die staan dan ook in apart bestanden of heeft je bestand in totaal vijf kolommen, namelijk onaf.var 1, onaf.var 2 en daarnáást nog x y en z ?
Alle reacties Link kopieren
quote:zeniiba schreef op 28 oktober 2011 @ 17:35:

dat is duidelijker. Voor de zekerheid: het gaat dus om combinaties van waarden van variabele 1 en 2 (y & z? terwijl x de nummering van de cases is?), en voor iedere combi moeten er uitiendelijk vijftig cases zijn, dus in total 102400 cases?



*begint met nadenken*Ja! 2048*50 cases en iedere case (=rij) heeft een waarde in elk van 3 kolommen (=x/y/z).
If at first you don’t succeed, call it version 1.0
Alle reacties Link kopieren
Bestand heeft heel veel kolommen, maar belangrijk zijn 6 kolommen: variabele 1, variabele 2, case nummer (per combinatie van de twee variabelen, zou dus moeten lopen van 1-50 elke keer), x, y, z.
If at first you don’t succeed, call it version 1.0
Alle reacties Link kopieren
quote:flatscreen schreef op 28 oktober 2011 @ 17:36:

*zegt uhhhh....*Ik ook. En na een dag googlen werd ik nog niet heel veel wijzer. Ik sta op het punt voor de laatste paar cases per combinatie maar met ongelijke aantallen te werken...
If at first you don’t succeed, call it version 1.0
Alle reacties Link kopieren
Eigenlijk wil ik dus conditioneel cases toevoegen. En ik weet niet of SPSS dat kan?
If at first you don’t succeed, call it version 1.0
en wat zijn de mogelijke waarden van var 1 en 2? zijn dat oplopende series?



*in dat geval zou je misschien met een relatief kort loopend scriptje een bestand kunnen genereren dat voor iedere combi van 1 en 2 50 case/rijen aanmaakt, dat bestand mergen met je huidige bestand zo dat er rijen met missing value ontstaan voor de missende combi's en die dan weer aanvullen met recode?
Alle reacties Link kopieren
Hmmm. Nee, variabele 1 is een string variable. Variabele 2 is wel oplopend, maar niet regelmatig. Wat ik wel kan doen denk ik is een geaggregeerde dataset maken met per variabele 1 alle waarden van variabele 2. En die kan ik dan copy-pasten en daar een casenummer aan toevoegen. En dan mergen. Ik heb nog nooit cases gemergd (wel kolommen), maar dit zou denk ik vrij vanzelfsprekend moeten zijn?



Jaaaaaa!
If at first you don’t succeed, call it version 1.0
cases mergen is vrijwel identiek aan kolommen mergen.



ik zit ook te spelen met aggregeren en restructureren maar zie het zelf nog niet helemaal .... laat even weten als je eruit bent gekomen! :p
Alle reacties Link kopieren
Ik ben bezig. Ondertussen loopt SPSS vast, maar ik heb nu bijna een set met per variabele 1 en 2 50 cases.
If at first you don’t succeed, call it version 1.0
Yes!! Mooi, want ik zit te klooien met loop sriptjes maar dat schiet nog niet heel erg op.
Alle reacties Link kopieren
Maar wacht. Mijn nieuwe dataset heeft nu standaardwaarden voor x, y en z. Als ik die merge, kan ik dan de waarden uit mijn oude dataset behouden voor die cases die er al in staan? Ik denk dat dit niet verschilt als er missing variables staan?
If at first you don’t succeed, call it version 1.0
mmm sla van allebei eerst een 'bewaarversie' op, en probeer daarna de verschillende opties voor keyed table uit.
Alle reacties Link kopieren
Gedaan. Maar er lijkt geen keyed table te bestaan? Ik kan alleen aanklikken "indicate case source as variable"?
If at first you don’t succeed, call it version 1.0
nee stop.. dit werkt niet... arg!
Alle reacties Link kopieren
En of ik het nu wel of niet aanklik, de nieuwe dataset wordt onderaan de oude vastgeplakt.
If at first you don’t succeed, call it version 1.0
ja precies... hij kan bij cases blijkbaar niet (zoals bij collums), bepalen of de case al bestaat, zeg maar.
Alle reacties Link kopieren
In dat geval werk ik voorlopig maar even met ongelijke aantallen, geloof ik. Zo frustrerend, omdat ik vermoed dat het heel simpel te programmeren zou moeten zijn, maar ik het zelf niet kan.



Maar dank je wel voor het meedenken!
If at first you don’t succeed, call it version 1.0
wat zijn datapunten?
Kun je niet gewoon de missende waarden vullen met



recode x/y/z (sysmiss=0/waarde) .



ik zal nu wel iets heel stoms zeggen (ook aangezien ik niet weet wat datapunten zijn)
Alle reacties Link kopieren
Datapunten zijn de waarden voor x, y, z en dit zijn proporties.
If at first you don’t succeed, call it version 1.0

Dit is een oud topic. Het topic is daarom gesloten.
Maak een nieuw topic aan om verder praten over dit onderwerp.

Terug naar boven