Page 1 of 1
Kodning af variabel
Posted: 30. Oct 2007 09:19
by morseper
Jeg vil gerne vide, om der i OpenOffice Calc er en funktion til kodning af en ny variabel.
Mit problem er, at jeg har en kolonne med værdier fra 1 - 2000. Jeg vil nu gerne have genereret en ny kolonne, hvor der angives bestemte værdier for bestemte intervaller i den foregående kolonne. Fx hvis der er en værdi mellem 1 og 9 skulle den nye kolonne gerne opnå værdien 1.
Jeg anvender ofte en ligende funktion i mit statistikprogram, og jeg vedlægger derfor min syntax derfra for at illustrerer, hvad det er jeg gerne vil opnå.
RECODE
Boligerialt
(Lowest thru 9=1) (10 thru 19=2) (20 thru 29=3) (30 thru 49=4)
(50 thru 99=5) (100 thru 149=6) (150 thru 299=7) (300 thru 499=8)
(500 thru 999=9) (1000 thru Highest=10) (ELSE=SYSMIS) INTO
Boligerialt_kat .
Håber, at nogen kan hjælpe.
Re: Kodning af variabel
Posted: 30. Oct 2007 21:46
by lapont
Du skal lave en brugerdefineret funkion, hvilket er en makro. Her er koden
Code: Select all
Function BoligKategori(n As Integer) As Integer
Lowest = 1
Highest = 2000
SYSMIS = -1
if (Lowest <= n) and (n <= 9) then
BoligKategori = 1
elseif n <= 19 then
BoligKategori = 2
elseif n <= 39 then
BoligKategori = 3
elseif n <= 49 then
BoligKategori = 4
elseif n <= 99 then
BoligKategori = 5
elseif n <= 149 then
BoligKategori = 6
elseif n <= 299 then
BoligKategori = 7
elseif n <= 499 then
BoligKategori = 8
elseif n <= 999 then
BoligKategori = 9
elseif n <= Higest then
BoligKategori = 10
else
BoligKategori = SYSMIS
endif
End Function
På
http://da.openoffice.org/about-documentation.html kan du finde en vejledningen: ' Start med makroer'.
Hvis tallene 1-2000 står i kolonne A og det første står i A1 så indsætter du fomlen =BoligKategori(a1) feltet B1 og trækkrt formlen ned i resten af felterne i kolonne B
Re: Kodning af variabel
Posted: 30. Oct 2007 22:07
by Torkil
En anden mulighed er at bruge funktionen Lopslag() eller Vopslag() og lægge opslagstabellen i et andet ark
=LOPSLAG(Opslagsværdi; Matrix; Indeks; Sorteringsrækkefølge)
I dit tilfælde skal du være særlig opmærksom på den sidste parameter og simikolonet før den, idet den bestemmer om dine data er sorterede eller ej. Du laver da to kolonner som vist
Prøv dig frem med grænseværdier of værdi for sorteringsrækkefølge.
Lopslag s metoden er ikke helt så smart som makroen, men er nemmere at rette i og du kan evt lave andre funktioner, der retter værdierne til i opslagstabellen.
med venlig hilsen
Emne: Re: Kodning af variabel
Posted: 2. Nov 2007 07:37
by HK
Der må være fejl i den viste brugerdefinerede funktion (BoligKategori),
blandt andet som følge af, at der mangler to linier:
elseif n <=29 then
Boligkategori = 3
Værdier større end eller lig med 30 og mindre end eller lig med 39 giver 3 og værdier større end eller lig med 1000 giver -1.
HK
Re: Emne: Re: Kodning af variabel
Posted: 2. Nov 2007 11:44
by lapont
HK wrote:Der må være fejl i den viste brugerdefinerede funktion (BoligKategori),
blandt andet som følge af, at der mangler to linier:
elseif n <=29 then
Boligkategori = 3
Du har ret i, at der er en fejl, der mangler dog ikke to linier, men linien
skal rettes til
Værdier større end eller lig med 30 og mindre end eller lig med 39 giver 3 og værdier større end eller lig med 1000 giver -1.
Og så er der en stavefejl i linien
der skulle stå
så vil værdier mellem 1000 og 2000 give 10
Beklager fejlene!