2013-03-29 53 views
2

我在閱讀http://www.uk.sagepub.com/books/Book233417Rcmdr用於將Rossi數據http://cran.r-project.org/doc/contrib/Fox-Companion/Rossi.txt從廣泛變爲長時間以進行時變生存分析。將生存數據從寬轉換爲長

Rcmdr腳本來完成轉型是:

.CovSets <-structure(list(covariate.1 = c("emp1", "emp2", "emp3", "emp4", "emp5", "emp6", "emp7", "emp8", "emp9", "emp10", "emp11", "emp12", "emp13", "emp14", "emp15", "emp16", "emp17", "emp18", "emp19", "emp20", "emp21", "emp22", "emp23", "emp24", "emp25", "emp26", "emp27", "emp28", "emp29","emp30", "emp31", "emp32", "emp33", "emp34", "emp35", "emp36", "emp37", "emp38", "emp39", "emp40", "emp41", "emp42", "emp43", "emp44", "emp45", "emp46", "emp47", "emp48", "emp49", "emp50", "emp51", "emp52")), .Names = "covariate.1") 
Rossi.long <- unfold(Rossi, time="week", event="arrest", cov=.CovSets, 
             cov.names=c("covariate.1")) 
remove(.CovSets) 

但是,如果沒有加載Rcmdr這個腳本不運行。

的Rcmdr腳本的結果將來自

> head(Rossi,20) 
    week arrest fin age race wexp mar paro prio educ emp1 emp2 emp3 emp4 emp5 emp6 emp7 emp8 emp9 emp10 emp11 emp12 emp13 emp14 emp15 emp16 emp17 emp18 emp19 emp20 emp21 emp22 emp23 emp24 emp25 
1 20  1 0 27 1 0 0 1 3 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0 NA NA NA NA NA 
2 17  1 0 18 1 0 0 1 8 4 0 0 0 0 0 0 0 0 0  1  1  1  1  1  0  0  0 NA NA NA NA NA NA NA NA 
3 25  1 0 19 0 1 0 1 13 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  1  0  0  0  0  0  0  0  0 
4 52  0 1 23 1 1 1 1 1 5 0 0 0 0 1 1 1 1 1  1  1  1  1  1  1  1  1  1  1  1  1  0  0  0  0 
5 52  0 0 19 0 1 0 1 3 3 0 0 0 0 0 0 0 0 0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 
6 52  0 0 24 1 1 0 0 2 4 0 0 0 0 1 1 1 1 1  1  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1 
7 23  1 0 25 1 1 1 1 0 4 1 1 1 1 1 1 1 1 1  1  1  1  1  1  1  1  1  1  1  1  1  1  0 NA NA 
8 52  0 1 21 1 1 0 1 4 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  1  1  0  0  1  1 
9 52  0 0 22 1 0 0 0 6 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  1  1  1  1  1  1  1  0  0  0 
10 52  0 0 20 1 1 0 0 0 5 0 1 1 1 1 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
11 52  0 1 26 1 0 0 1 3 3 0 0 0 0 0 0 0 0 1  1  1  1  1  1  1  1  1  1  0  0  0  0  0  0  0 
12 52  0 0 40 1 1 0 0 2 5 0 0 0 0 1 1 1 1 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 
13 37  1 0 17 1 1 0 1 5 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
14 52  0 0 37 1 1 0 0 2 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  1  1  1  1  1  1  1 
15 25  1 0 20 1 0 0 1 3 4 0 0 0 0 0 0 0 0 0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  0  0 
16 46  1 1 22 1 1 0 1 2 3 0 1 1 1 1 1 1 1 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 
17 28  1 0 19 1 0 0 0 7 3 0 0 0 0 0 0 0 0 0  0  0  0  0  1  1  1  1  1  0  0  0  0  0  0  0 
18 52  0 0 20 1 0 0 0 2 3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  1  1 
19 52  0 0 25 1 0 0 1 12 3 0 0 0 0 0 0 0 0 0  0  0  1  1  1  1  1  1  1  1  1  1  1  0  0  0 
20 52  0 0 24 0 1 0 1 1 3 0 1 1 0 0 0 0 0 1  1  1  1  1  1  0  0  0  1  1  1  1  1  1  1  1 
    emp26 emp27 emp28 emp29 emp30 emp31 emp32 emp33 emp34 emp35 emp36 emp37 emp38 emp39 emp40 emp41 emp42 emp43 emp44 emp45 emp46 emp47 emp48 emp49 emp50 emp51 emp52 id 
1  NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 1 
2  NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 2 
3  NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 3 
4  0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 4 
5  1  1  1  1  1  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 5 
6  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 6 
7  NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 7 
8  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 8 
9  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 9 
10  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 10 
11  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  1  1  1  1  1  1  1 11 
12  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 12 
13  0  0  1  1  0  0  0  0  0  0  0  0 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 13 
14  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 14 
15 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 15 
16  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  0 NA NA NA NA NA NA 16 
17  0  0  0 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 17 
18  1  1  1  1  1  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 18 
19  0  0  0  0  0  0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 19 
20  1  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 20 

羅西數據幀向Rossi.long數據

> head(Rossi.long,30) 
    start stop arrest.time week arrest fin age race wexp mar paro prio educ id covariate.1 
1.1  0 1   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.2  1 2   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.3  2 3   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.4  3 4   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.5  4 5   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.6  5 6   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.7  6 7   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.8  7 8   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.9  8 9   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.10  9 10   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.11 10 11   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.12 11 12   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.13 12 13   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.14 13 14   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.15 14 15   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.16 15 16   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.17 16 17   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.18 17 18   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.19 18 19   0 20  1 0 27 1 0 0 1 3 3 1   0 
1.20 19 20   1 20  1 0 27 1 0 0 1 3 3 1   0 
2.1  0 1   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.2  1 2   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.3  2 3   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.4  3 4   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.5  4 5   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.6  5 6   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.7  6 7   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.8  7 8   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.9  8 9   0 17  1 0 18 1 0 0 1 8 4 2   0 
2.10  9 10   0 17  1 0 18 1 0 0 1 8 4 2   1 

是否有可能使用reshape或任何其他執行此準確變換數據轉換包?

最新資料:Rcmdr腳本可運行僅在Rcmdr

+0

它不是重複的,因爲這是**生存數據**的情況下顯式。 – ECII

+0

@RicardoSaporta在你決定做2個離題評論之前,請仔細閱讀我的問題,投票結束並且標記爲重複(全部在1分鐘內)。 – ECII

+0

Rossi.long包含多少行? – JT85

回答

2

的「展開」功能就設在這裏(如PDF文檔鏈接到您:

http://socserv.mcmaster.ca/jfox/Books/Companion/scripts/appendix-cox.R

該腳本需要Rcmdr,它需要car(依次加載MASSnnet,但是如果你有Rcmdr,那麼你必須有car),它確實加載了survival這是一個推薦的軟件包,應在所有安裝中提供。它在R 3.0.0測試版中運行完成而沒有錯誤,我強烈懷疑它會在2.15.x版中運行完成。

+0

它運行得非常好,謝謝你的想法。出於好奇,有可能使用更傳統的方法來完成同樣的工作(重塑,plyr等) – ECII

+1

我懷疑'base :: reshape'是否可行,因爲它出現的策略是創建額外的行,其數量取決於改變事件時間值。我真的不能說使用reshape2或plyr函數,但是我似乎不太可能成爲一個簡單的「融合」任務。 –