Hvordan arbeide med Faktorer og numeriske vektorer i R-modeller og beregninger

May 17  by Eliza

Hvis du arbeider med faktorer i R som har tallverdier som nivåer, må du være ekstra forsiktig når du bruker disse faktorene i modellene og andre beregninger. For eksempel, konvertere du antall sylindere i de innebygde datasettet mtcars til en faktor som dette:

> Cyl.factor <- as.factor (mtcars $ syl)

Hvis du ønsker å vite median antall sylindere, kan du bli fristet til å gjøre følgende:

> Median (as.numeric (cyl.factor))
[1] 2

Dette resultat er falsk, fordi den minimale antall sylindere er fire. R konverterer den interne representasjon av den faktor som tall, ikke etiketter. Så får du tall som begynner fra den ene til antall nivåer i stedet for de opprinnelige verdiene.

Til riktig forvandle en faktor de opprinnelige tallverdier, kan du først forvandle den faktor som tegnet og deretter til numerisk. Men på svært store data, dette er gjort raskere med følgende konstruksjon:

> As.numeric (nivåer (cyl.factor)) [cyl.factor]

Med denne koden, du oppretter en kort vektor med nivåene som tallverdier, og deretter bruke den interne heltall representasjon av faktoren for å velge den riktige verdien.

Selv R konverterer ofte en numerisk vektor til en faktor automatisk når det er nødvendig, det doesnâ € ™ t gjøre det hvis både numeriske vektorer og faktorer kan brukes. Hvis du ønsker å modellere, for eksempel kjørelengde på en bil til antall sylindere, får du en annen modell når du bruker antall sylindere som en numerisk vektor eller som en faktor.

Tolkningen av begge modellene er helt annerledes, og mye avhenger av hva du ønsker å gjøre. Men du må være klar over det, eller du kan tolke feil modell.