1. feladat. Egyszerű adatkonverzió.
Ahttp://users.atw.hu/rdata/ber2/pulzus.txt
szöveges állomány 92 személy adatát tartalmazza. Olvassuk be az adatokat egypulzus
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!
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 ...
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