[R] "Re: Change class factor to numeric"

Arantzazu Blanco Bernardeau aramucia at hotmail.com
Tue May 18 17:59:49 CEST 2010


Hello
so, here you have the output of the data frame. The data frame comes from a csv file. 
I could take Gr_2 instead of arcilla, because it is the same value... but curiously, it is a factor as well. 
> str(caperf)
'data.frame':    556 obs. of  38 variables:
 $ Hoja        : int  818 818 818 818 818 818 818 818 818 818 ...
 $ idmuestra   : Factor w/ 555 levels "1015-I","1015-II",..: 26 27 28 29 31 32 33 34 30 35 ...
 $ Año         : int  1994 1994 1994 1994 1994 1994 1994 1994 1994 1994 ...
 $ x           : int  655500 633050 632200 635000 637150 643700 655300 648000 653400 646200 ...
 $ y           : int  4285800 4283050 4298150 4290000 4294800 4288850 4282700 4290350 4298450 4296650 ...
 $ CO_gkg1     : num  3.7 6.5 6.3 2.6 12.1 6.9 3.5 10.8 10.3 3.3 ...
 $ NTgkg_1     : num  0.53 1.01 0.66 0.42 1.3 0.82 0.43 1.31 0.85 0.51 ...
 $ C_Nratio    : num  6.98 6.46 9.55 6.18 9.33 ...
 $ C03Ca       : num  53.6 38 1.2 1.1 21.1 ...
 $ pHw         : num  8 8.4 8.3 8.4 8.45 8.2 8.4 8.4 8.1 8.4 ...
 $ pHClK       : num  7.5 7.4 7.2 7.4 8.3 7.5 7.8 7.4 7.4 7.5 ...
 $ CCC         : num  9.7 14.4 10.5 7.2 12.8 ...
 $ CEdSm       : num  0.62 0.72 0.38 0.36 19.35 ...
 $ pF1_3atm    : num  25.4 21.3 9.1 12.8 24.1 ...
 $ pF15atm     : num  15.3 10.6 5.8 6.1 8.45 11 3.7 18.8 10 14.3 ...
 $ Gr_2        : Factor w/ 391 levels "0","0.71","0.9",..: 200 31 158 36 142 60 377 263 140 151 ...
 $ Gr2_20      : num  19.1 39.1 2.9 5.2 NA 12.5 5.7 29.5 17.3 10.5 ...
 $ Gr20_50     : num  17.6 9.8 4.7 4 NA 10.4 4.2 13.3 12.5 7.8 ...
 $ Gr50_100    : num  14.1 12.2 7.6 9 NA 9.1 6.1 8.5 9.1 18.9 ...
 $ Gr100_250   : num  13.4 17.1 28.7 46.2 NA 20.8 28.7 13.6 16.8 32.9 ...
 $ Gr250_500   : num  7.1 5.7 28.8 15.2 NA 24.7 23.4 3.8 11.4 6.9 ...
 $ Gr500_1000  : num  4 1.8 5 3.9 NA 4.2 14.3 0.9 8.9 2.1 ...
 $ Gr1000_2000 : num  1.4 2 1.9 4 NA 4.1 8.9 0.4 4.8 0.9 ...
 $ arcilla     : Factor w/ 391 levels "0","0.71","0.9",..: 201 32 158 37 NA 61 377 263 141 151 ...
 $ limo        : num  36.7 48.9 7.6 9.2 0 22.9 9.9 42.8 29.8 18.3 ...
 $ arena       : num  40 38.8 72 78.3 0 62.9 81.4 27.2 51 61.7 ...
 $ SUMA        : Factor w/ 15 levels "0","100","100.2",..: 2 2 2 2 1 2 2 2 2 2 ...
 $ codusosuelo : logi  NA NA NA NA NA NA ...
 $ pendiente   : Factor w/ 9 levels "0","1","2","3",..: 3 2 3 3 2 4 3 2 2 3 ...
 $ profutil    : logi  NA NA NA NA NA NA ...
 $ profutil.1  : int  50 110 120 40 80 52 30 120 37 80 ...
 $ pedregosidad: int  0 0 0 2 0 4 4 0 3 3 ...
 $ Drenaje     : int  4 4 4 4 1 4 5 3 4 4 ...
 $ codsuelo    : num  1.1 2.1 3.1 2.1 12.3 2.5 2.5 4.1 2.5 2.1 ...
 $ textura     : logi  NA NA NA NA NA NA ...
 $ m.original  : Factor w/ 7 levels "Calizas . dolomías y areniscas",..: 4 7 7 2 2 7 7 7 7 7 ...
 $ GRUPOPPAL   : Factor w/ 13 levels "Arenosoles","Calcisoles",..: 11 2 3 2 12 2 2 4 2 2 ...
 $ SUELO       : Factor w/ 40 levels "Arenosol calcárico",..: 30 3 8 3 36 7 7 10 7 3 ...

In the other side, the variable Drenaje (drainage) that is factor mode, appears as integer. 
Thanks a lot!


Arantzazu Blanco Bernardeau
Dpto de Química Agrícola, Geología y Edafología
Universidad de Murcia-Campus de Espinardo









----------------------------------------
> Date: Tue, 18 May 2010 17:49:54 +0200
> From: ivan.calandra at uni-hamburg.de
> To:
> Subject: Re: [R] "Re: Change class factor to numeric"
>
> Hi,
>
> I think that providing the output from str(data array or whatever you
> have) would help.
> Because, for now, we don't have much idea of what you really have.
> Moreover, some sample data is always welcomed (using the function dput
> for example)
>
> Ivan
>
>
> Le 5/18/2010 17:36, Arantzazu Blanco Bernardeau a écrit :
>>
>> sorry I had a mistake sending my question without a subject. I do resend again. Please excuse me.
>>
>>> Hello
>>> I have a data array with soil variables (caperf), in which the variable "clay" is factor (as I see entering str(caperf)) . I need to do a regression model, so I need to have arcilla (=clay) as a numeric variable. For that I have entered
>>>
>>> as.numeric(as.character(arcilla))
>>>
>>> and even entering
>>> 'as.numeric(levels(arcilla))[arcilla]'the variable is resting as factor, and the linear model is not valid (for my purposes).
>>> The decimal commas have been converted to decimal points, so I have no idea of what to do.
>>> Thanks a lot
>>>
>>>
>>> Arantzazu Blanco Bernardeau
>>> Dpto de Química Agrícola, Geología y Edafología
>>> Universidad de Murcia-Campus de Espinardo
>>>
>>>
>>>
>>>
>>>
>>>
>>> _________________________________________________________________
>>> Diseñar aplicaciones tiene premio. ¡Si eres desarrollador no esperes más!
>>> http://www.imaginemobile.es
>>>
>>
>> _________________________________________________________________
>> Recibe en tu HOTMAIL los emails de TODAS tus CUENTAS. + info
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>
> --
> Ivan CALANDRA
> PhD Student
> University of Hamburg
> Biozentrum Grindel und Zoologisches Museum
> Abt. Säugetiere
> Martin-Luther-King-Platz 3
> D-20146 Hamburg, GERMANY
> +49(0)40 42838 6231
> ivan.calandra at uni-hamburg.de
>
> **********
> http://www.for771.uni-bonn.de
> http://webapp5.rrz.uni-hamburg.de/mammals/eng/mitarbeiter.php
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
 		 	   		  



More information about the R-help mailing list