Re: [R] read.spss in R 2.1.0 & make basic dataframe

From: Uwe Ligges <ligges_at_statistik.uni-dortmund.de>
Date: Fri 27 May 2005 - 00:37:44 EST

The main problem you are experiencing is that edit() (more precisely the method edit.data.frame()) is a bit restricted - I think contributions are welcome.
Note that coding must be done very careful here (and is not trivial at all) in order to deal with different kinds of attributes, in particular names and factor stuff.

Uwe Ligges

Bliese, Paul D LTC USAMH wrote:

> Recent changes to read.spss() in the foreign package return a dataframe
> containing additional attributes. For example,
>
>
>
>

>>TEMP<-read.spss(choose.files(), to.data.frame=T,use.value.labels=F)

>
>
>
>
>
>>str(TEMP)

>
>
> `data.frame': 780 obs. of 8 variables:
>
> $ EXPOS01: atomic 1 1 2 1 2 3 2 4 2 1 ...
>
> ..- attr(*, "value.labels")= Named num 5 4 3 2 1
>
> .. ..- attr(*, "names")= chr "Yes, experienced it with Extreme
> Impact" "Yes, experienced it with Moderate Impact" "Yes, experienced it
> with A Little Impact" "Yes, experienced it with No Impact" ...
>
> $ EXPOS02: atomic 1 1 1 1 1 1 1 1 1 1 ...
>
> ..- attr(*, "value.labels")= Named num 5 4 3 2 1
>
> .. ..- attr(*, "names")= chr "Yes, experienced it with Extreme
> Impact" "Yes, experienced it with Moderate Impact" "Yes, experienced it
> with A Little Impact" "Yes, experienced it with No Impact" ...
>
>
>
>
>
> Unfortunately, these changes may be ahead of their time (certainly ahead
> of several functions). For instance edit balks at the changes:
>
>
>
>
>>edit(TEMP)

>
>
> Error in edit.data.frame(TEMP) : can only handle vector and factor
> elements
>
>
>
> It used to be that the command "as.data.frame" or "data.frame" would
> return a fairly basic data.frame and "fix" the problem. However, this
> does not work (obviously because TEMP is already a data.frame). For
> example,
>
>
>
>
>>TEMP<-as.data.frame(TEMP)

>
>
>>edit(TEMP)

>
>
> Error in edit.data.frame(TEMP) : can only handle vector and factor
> elements
>
>
>
> It is possible to use "as.matrix", and then "data.frame" the result of
> "as.matrix", but this gets a bit cumbersome.
>
>
>
> The question is: Is there a simple command to strip additional
> attribute characteristics from a data.frame and get a simple, easy to
> use, uncomplicated data.frame?
>
>
>
> On a related note, do other users routinely use read.spss with the
> defaults of "to.data.frame=F" or "use.value.labels=T"? My experience
> is that I am always using the non-default values in which case it would
> be helpful to change the defaults to "to.data.frame=T" and
> "use.value.labels=F". It would also probably make sense to change the
> default for "trim.factor.names=T". Interested in others' perspective.
>
>
>
> Appreciate all the great work Saikat DebRoy has done...just trying to
> improve an already useful function.
>
>
>
> Paul
>
>
>
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri May 27 00:44:58 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:32:07 EST