Set levels not labels in the factor call.  E.g.

factor("School", levels = factorlabels)

On Sun, 8 May 2005, Ajay Narottam Shah wrote:

I'm in this situation:

    factorlabels <- c("School", "College", "Beyond")

with data for 8 families:

    education.man  <- c(1,2,1,2,1,2,1,2)       # Note : no "3" values
    education.wife <- c(1,2,3,1,2,3,1,2)       # 1,2,3 are all present.

My goal is to create this table:

                    School     College      Beyond
      Husband       4          4            0
      Wife          3          3            2


How do I do this?

I can readily do:
    education.wife <- factor(education.wife, labels=factorlabels)

But this breaks:
    education.man <- factor(education.man,   labels=factorlabels)

because none of the families have a husband who went beyond college.

I get around this problem in a limited way by:
    cautiously <- function(x, labels) {
      factor(x, labels=factorlabels[as.numeric(levels(factor(x)))])
    }
    education.man <- cautiously(education.man, labels=factorlabels)

Now I get:

    > table(education.man)
    School College
         4       4
    > table(education.wife)
    School College  Beyond
         3       3       2

This is a pain because now the two tables are not conformable. How do
I get to my end goal, which is the table:

                    School     College      Beyond
      Husband       4          4            0
      Wife          3          3            2

In other words, how do I force education.man to have a factor with 3
levels - "School" "College" "Beyond" - even though there is no
observation in "Beyond".

--
Ajay Shah                                                   Consultant
[EMAIL PROTECTED]                      Department of Economic Affairs
http://www.mayin.org/ajayshah           Ministry of Finance, New Delhi

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


-- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to