Bevezetés az R-be 2.0 - Feladatgyűjtemény

Egyszerű adatkonverzió

1. feladat. Egyszerű adatkonverzió.
A http://users.atw.hu/rdata/ber2/pulzus.txt szöveges állomány 92 személy adatát tartalmazza. Olvassuk be az adatokat egy pulzus adattáblába! Ellenőrizzük a beolvasás sikerességét, illetve a változók statisztikai skálái és az oszlopok típusai közötti egyezőséget!

Adatok beolvasása

pulzus <- read.table("http://users.atw.hu/rdata/ber2/pulzus.txt", 
                     sep="\t", header=T, dec=",")
str(pulzus)
'data.frame':    92 obs. of  8 variables:
 $ PULSE1  : int  64 58 62 66 64 74 84 68 62 76 ...
 $ PULSE2  : int  88 70 76 78 80 84 84 72 75 118 ...
 $ RAN     : int  1 1 1 1 1 1 1 1 1 1 ...
 $ SMOKES  : int  2 2 1 1 2 2 2 2 2 2 ...
 $ SEX     : int  1 1 1 1 1 1 1 1 1 1 ...
 $ HEIGHT  : num  66 72 73.5 73 69 73 72 74 72 71 ...
 $ WEIGHT  : int  140 145 160 190 155 165 150 190 195 138 ...
 $ ACTIVITY: int  2 2 3 1 2 1 3 2 2 2 ...

Beolvasás helyességének ellenőrzése

Az adattáblában szereplő változók statisztikai skálái és az R-ben megjelenő oszlop-típusok közötti egyezést az str() függvény outputja alapján ellenőrizetjük. Az adattábla RAN és SEX változója nominális, míg a SMOKES és ACTIVITY változója ordinális skálájú. A nominális és ordinális skálájú változóknak az R-ben a factor oszloptípus felel meg. Mivel az outputban szereplő int numerikus vektort jelez, gondoskodnunk kell ezen oszlopok faktorrá alakításáról. Numerikus vektorból a factor() függvénnyel készíthetünk faktort:

pulzus$RAN <- factor(pulzus$RAN)
pulzus$SEX <- factor(pulzus$SEX)
pulzus$SMOKES <- factor(pulzus$SMOKES)
pulzus$ACTIVITY <- factor(pulzus$ACTIVITY)
str(pulzus)
'data.frame':    92 obs. of  8 variables:
 $ PULSE1  : int  64 58 62 66 64 74 84 68 62 76 ...
 $ PULSE2  : int  88 70 76 78 80 84 84 72 75 118 ...
 $ RAN     : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
 $ SMOKES  : Factor w/ 2 levels "1","2": 2 2 1 1 2 2 2 2 2 2 ...
 $ SEX     : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
 $ HEIGHT  : num  66 72 73.5 73 69 73 72 74 72 71 ...
 $ WEIGHT  : int  140 145 160 190 155 165 150 190 195 138 ...
 $ ACTIVITY: Factor w/ 4 levels "0","1","2","3": 3 3 4 2 3 2 4 3 3 3 ...
head(pulzus)
  PULSE1 PULSE2 RAN SMOKES SEX HEIGHT WEIGHT ACTIVITY
1     64     88   1      2   1   66.0    140        2
2     58     70   1      2   1   72.0    145        2
3     62     76   1      1   1   73.5    160        3
4     66     78   1      1   1   73.0    190        1
5     64     80   1      2   1   69.0    155        2
6     74     84   1      2   1   73.0    165        1