On Feb 11, 2010, at 5:58 AM, Philipp Rappold wrote:

Göran, thanks!

One more thing that I found: As soon as you have at least one NA in the independent vars, the trick that you mentioned does not work anymore. Example:

> testdata
 start stop censor groupvar      var1
1     0    1      0        1 0.1284928
2     1    2      0        1 0.4896125
3     2    3      0        1 0.7012899
4     3    4      0        1        NA
5     0    1      0        2 0.7964361
6     1    2      0        2 0.8466039
7     2    3      1        2 0.2234271

> aftreg(Surv(start, stop, censor)~var1, data=testdata, id=testdata $groupvar) Error in order(id, Y[, 1]) : Different length of arguments (* I translated this from the German Output *)

Do you think there is a simple hack which excludes all subjects that have at least on NA in their independent vars? If it was only one dependent var it would probably be easy by just using subset, but I have lots of different combinations of vars that I'd like to test ;)


I don't know if it's a "hack", but there are a set of functions that perform such subsetting:

?na.omit

There is a parameter that would accomplish that goal inside aftreg. You may want to check what your defaults are for na.action.

--
David.

Best
Philipp

PS: Conerning the benmark: For a large dataset (~ 1600 observations on ~300 subjects) processing takes about 40 seconds (core 2 duo @ 2.46 GHz, T9300). Interestingly, processing the testdata-set above with only 7 observations on 2 subjects takes 2 minutes...

Göran Broström wrote:
Philipp Rappold wrote:
Dear all,

I have some trouble using the "id"-argument with aftreg (accelerated failure time regression analysis from the eha library).

As far as I understand it, the id argument is used to group individuals together if there are time-varying covariates and the data is arranged in counting process style.

Unfortunately, i cannot figure out how to use the "id"-argument. The most straight-forward way would be to simply state the grouping variable, but it throws an error. I've included an example below: the dataframe for regression is called "test", with the grouping variable "person".

> test
 start end censor person var1
1     0   1      0      1  0.5
2     1   2      0      1  0.4
3     2   3      0      1  0.6
4     3   4      1      1 -0.3
5     0   1      0      2  0.6
6     1   2      0      2  0.7
7     2   3      0      2  0.6

> fit <- aftreg(Surv(start, end, censor)~var1, data=test, id=person)
Error in order(id, Y[, 1]) : argument 1 is not a vector
You have caught the _function_ 'person' (package: utils) instead of the variable 'person' in the data frame. That explains the odd error message. If you change the variable name to, e.g., "ID", you'll get the error message
Error in order(id, Y[, 1]) : object 'id' not found
which would hint you in the right direction. You need to specify 'id' by a full name, in your case 'test$person'. This is of course a deficiency in the interface of aftreg. I will fix it asap.
So the temporary fix is 'id = test$person'.
Thanks for the report,
Göran

> fit <- aftreg(Surv(start, end, censor)~var1, data=test, id=test["person"])
Error in `[.data.frame`(id, ord) : undefined columns selected



What would be the correct way to fit this example model?

Thanks + all the best
Philipp


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to