Hi,

I have this same problem using read.xls in a table that I have NA values.

Look:

Using the importing from a csv file using read.table

>  summary(dados)
  Trat        V1            V2
  A:5   Min.   :1.0   Min.   :1.000
  B:5   1st Qu.:1.0   1st Qu.:1.000
        Median :1.5   Median :2.000
        Mean   :1.5   Mean   :1.556
        3rd Qu.:2.0   3rd Qu.:2.000
        Max.   :2.0   Max.   :2.000
                      NA's   :1.000

Now using read.xls


>  summary(dados.xls)
  Trat        V1        V2
  A:5   Min.   :1.0   1  :4
  B:5   1st Qu.:1.0   2  :5
        Median :1.5   NA :1
        Mean   :1.5
        3rd Qu.:2.0
        Max.   :2.0


Look that the V2 variable in read.xls is wrong convert to factors.

Anybody know how to fix it in read.xls?

Thanks
Ronaldo



Em 03-06-2011 12:34, Petr PIKAL escreveu:
> Hi
>
>> [R] Problem using read.xls - Everything converted to factors
>>
>> Hallo,
>>
>> I would like to use to read.xls function from the gdata package to read
>> data from Microsoft Excel files but I experienced a problem: For example
>> I used the following code:
>>
>> testfile<-read.xls("/home/.../wsjecon0603.xls", #file path
>>              header=F,
>>              dec=",",
>>              na.strings="n.a.",
>>              skip=5,
>>              sheet=2,
>>              col.names=c("Name",
> "Firm","GDP1","GDP2","GDP3","GDP4","CPI5",
>> "CPI11","UNEMP5","UNEMP11","PROF03","PROF04","STARTS03","STARTS04"),
>>              nrows=54,
>>
>> #colClasses=c
>>
> (character,character,numeric,numeric,numeric,numeric,numeric,numeric,numeric,numeric,numeric,numeric,numeric,numeric)
>> )
>> print(testfile)
>>
>> Although the xls file contains numeric values in all the columns except
>> the ones which I named "Name" and "Firm", everything in the data frame
>> has "factor" as class. I tried to use the colClasses option as above and
>> as well with " "'s around each word, but this does not work and I will
> Hm. That shall work. You have got some advice from Gabor but in case
> numeric columns come as non numeric I often find a problem with some kind
> of formating the original values. Numbers like 10 253,52 are treated as
> nonnumeric as there is extra space character between thousands and
> hundereds. Maybe also na.strings are not always marked as n.a. but
> sometimes the value is missing and I suppose this can lead to conversion
> of all column to character vector.
>
>> always receive the following error:
>>
>> Fehler in is(object, Class) :
>>     versuche einen Slot "className" von einem Objekt der einfachen Klasse
>> ("list") ohne Slots anzufordern
>> Calls: read.xls ->  read.csv ->  read.table ->  <Anonymous>  ->  is
>>
>> After some hours of reasearch I figured out how I can manually change
>> the classes of the columns:
>>
>> testfile$GDP2<-as.numeric(levels(testfile$GDP2))[testfile$GDP2]
>> testfile$Name<-as.character(levels(testfile$Name))[testfile$Name] #and
> so on
>
> you can spare some time to use sapply
>
> testfile[,character columns]<- sapply(testfile[,character columns],
> as.numeric)
>
> shall convert all character columns to numeric at once but you will get
> NAs to all values which could not be converted for any reason.
>
> Regards
> Petr
>
>
>> This works, but is a lot of work since I have to import many different
>> data sets. So I was wondering if there is another way to let the classes
>> be recognized correctly.
>>
>> Additionally I would like to know if there is any way to import data
>> from different sheets with the same layout at once into one data frame.
>>
>> I use Ubuntu 11.04 with Rkward if this is of any importance.
>>
>> Thanks in advance for your answers,
>> Sebastian
>>
>> ______________________________________________
>> R-help@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.
> ______________________________________________
> R-help@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.
>

-- 
4ª lei - Aja como se seu orientador estivesse sempre certo,
          na maior parte do tempo.

       --Herman, I. P. 2007. Following the law. NATURE, Vol 445, p. 228.

>  Prof. Ronaldo Reis Júnior
|  .''`. UNIMONTES/DBG/Lab. Ecologia Comportamental e Computacional
| : :'  : Campus Universitário Prof. Darcy Ribeiro, Vila Mauricéia
| `. `'` CP: 126, CEP: 39401-089, Montes Claros - MG - Brasil
|   `- Fone: (38) 3229-8192 | ronaldo.reis@unimontes.br
| http://www.ppgcb.unimontes.br/lecc | LinuxUser#: 205366


	[[alternative HTML version deleted]]

