Skip to content

variable format

7 messages · Cory Nissen, Gabor Grothendieck, Frank E Harrell Jr +1 more

2 days later
#
A matrix is for situations where every element is of the same class
but your columns have different classes so use a data frame:

DF <- data.frame(a = 11:15, b = letters[1:5], stringsAsFactors = FALSE)
subset(DF, a %in% 11:13)
subset(DF, a %in% c(0, 11:13)) # same

Suggest you review the Introduction to R manual and look at ?data.frame,
?subset and ?"%in%"
On 9/4/07, Cory Nissen <cnissen at akoyainc.com> wrote:
#
Dear Cory,

I am not familiar with SAS, but is this what you are looking for?

divisionTable <- matrix(c(1, "New England",
                          2, "Middle Atlantic",
                          3, "East North Central",
                          4, "West North Central",
                          5, "South Atlantic",
                          6, "East South Central",
                          7, "West South Central",
                          8, "Mountain",
                          9, "Pacific"),
                        ncol=2, byrow=T)
a <- NULL
a$divisionOld <- c(0,1,2,3,4,5)
a$divisionNew <- 
as.character(factor(a$divisionOld,levels=divisionTable[,1],labels=divisionTable[,2]))
a$divisionNew

[1] NA                   "New England"        "Middle Atlantic"  
[4] "East North Central" "West North Central" "South Atlantic" 


Kind regards,

  Martin


Cory Nissen schrieb:
#
Martin Becker wrote:
How about just divisionTable <- c('New England', 'Middle Atlantic', ...) 
then factor(old, 1:9, divisionTable) ?

Frank

  
    
#
Frank E Harrell Jr wrote:
Of course, this solution is more elegant, but my intention was
1. to provide a solution which makes use of the exisiting object 
"divisionTable"
2. to reproduce the output from the working example (->conversion to 
character)
Maybe I should have emphasized that I was quoting the existing 
definition of divisionTable from the original email (for the sake of 
providing self-contained code) and not introducing a unnecessarily 
complicated new definition of divisionTable.

Regards,

 Martin