R: Create new-style "assign" attribute

attrassign {survival} | R Documentation

## Create new-style "assign" attribute

### Description

The `"assign"` attribute on model matrices describes which columns come from which terms in the model formula. It has two versions. R uses the original version, but the alternate version found in S-plus is sometimes useful.

### Usage

    ## Default S3 method:
    attrassign(object, tt,...)
    ## S3 method for class 'lm'
    attrassign(object,...)

### Arguments

`object` | model matrix or linear model object
`tt` | terms object
`...` | ignored

### Details

For instance consider the following

        survreg(Surv(time, status) ~ age + sex + factor(ph.ecog), lung)

R gives the compact for for assign, a vector (0, 1, 2, 3, 3, 3); which can be read as “the first column of the X matrix (intercept) goes with none of the terms, the second column of X goes with term 1 of the model equation, the third column of X with term 2, and columns 4-6 with term 3”.

The alternate (S-Plus default) form is a list

           $(Intercept)     1
           $age             2
           $sex             3
           $factor(ph.ecog) 4 5 6

### Value

A list with names corresponding to the term names and elements that are vectors indicating which columns come from which terms

### See Also

`terms`,`model.matrix`

### Examples

    formula <- Surv(time,status)~factor(ph.ecog)
    tt <- terms(formula)
    mf <- model.frame(tt,data=lung)
    mm <- model.matrix(tt,mf)
    ## a few rows of data
    mm[1:3,]
    ## old-style assign attribute
    attr(mm,"assign")
    ## alternate style assign attribute
    attrassign(mm,tt)

[Package survival version 3.2-7 Index]