2016-08-15 4 views
0

Ich möchte einen unausgeglichenen Zeitprädiktor in einem gemischten Modell neu zentrieren, so dass der Abschnitt das Ende der Behandlung widerspiegelt.Rezentrieren eines unsymmetrischen Zeitprädiktors für gemischte Modelle

Zum Beispiel:

ID <- c(1,1,2,2,2,3,3,3,3) 
Time <- c(0,1,0,1,2,0,1,2,3) 
Before <- data.table(ID,Time) 
Before 

ID Time 
1 0 
1 1 
2 0 
2 1 
2 2 
3 0 
3 1 
3 2 
3 3 

würde Ich mag diese bekommen:

Recenter <- c(1,0,2,1,0,3,2,1,0) 
After <- data.table(ID,Time, Recenter) 
After 

ID Time Recenter 
1 0  1 
1 1  0 
2 0  2 
2 1  1 
2 2  0 
3 0  3 
3 1  2 
3 2  1 
3 3  0 

Antwort

0

Sieht aus wie Sie Time innerhalb jeder ID umkehren wollen. Dies ist, was Sie brauchen:

Recenter <- unlist(with(Before, tapply(Time, ID, rev)), use.names = FALSE) 

von rev Funktion zu unausgewogen/zerlumpt Array Anwendung tapply verwenden.

Verwandte Themen