From groemping at tfh-berlin.de  Sun Mar  5 09:50:08 2006
From: groemping at tfh-berlin.de (groemping@tfh-berlin.de)
Date: Sun,  5 Mar 2006 09:50:08 +0100 (CET)
Subject: [Rd] Wishlist: merge and subset to keep attributes (PR#8658)
Message-ID: <20060305085008.3BE34E0B8@slim.kubism.ku.dk>

Full_Name: Ulrike Gr?mping
Version: 2.2.1
OS: Windows
Submission from: (NULL) (84.190.139.94)


When importing data from SPSS, it is a nice feature of the package foreign that
it allows (option use.value.labels=F) to work with the original SPSS codes while
keeping the value labels as information in an attribute. Unfortunately, after
merging or subsetting, these attributes disappear. 
The code below illustrates the problem: Variable time originally has value
labels that are gone after merging or subsetting.

It would be very helpful, if this could be changed.

With kind regards, Ulrike
-----------------------------------------------------------------

data1 <- data.frame(id=c("Id1","Id2","Id3","Id4","Id5","Id6"),
        time=c(3,4,3,5,9,4))
vallab <- c(3,4,5,9)
names(vallab) <- c("day","night","twilight","unknown")
attr(data1$time,"value.labels")<-vallab
str(data1)
## gives the output:
## `data.frame':   6 obs. of  2 variables:
##  $ id  : Factor w/ 6 levels "Id1","Id2","Id3",..: 1 2 3 4 5 6
##  $ time: atomic  3 4 3 5 9 4
##   ..- attr(*, "value.labels")= Named num  3 4 5 9
##   .. ..- attr(*, "names")= chr  "day" "night" "twilight" "unknown"
data2 <- data.frame(id=rep(c("Id1","Id2","Id3","Id4","Id5","Id6"),2), 
        y=rnorm(12))
merged <- merge(data1,data2)
subset <- subset(data1,id %in% c("Id2","Id4","Id6"))
str(merged)
## gives the output:
## `data.frame':   12 obs. of  3 variables:
##  $ id  : Factor w/ 6 levels "Id1","Id2","Id3",..: 1 1 2 2 3 3 4 4 5 5 ...
##  $ time: num  3 3 4 4 3 3 5 5 9 9 ...
##  $ y   : num  -0.621 -2.617 -0.980  0.486 -0.558 ...
str(subset)
## gives the output:
## `data.frame':   3 obs. of  2 variables:
## $ id  : Factor w/ 6 levels "Id1","Id2","Id3",..: 2 4 6
## $ time: num  4 5 4



[Rd] Wishlist: merge and subset to keep attributes (PR#8658)
groemping@tfh-berlin.de