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

Uwe Ligges ligges at statistik.uni-dortmund.de
Thu May 26 16:37:44 CEST 2005


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 at 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




More information about the R-help mailing list