0
有四個時間間隔R:計算中的每個M的時間間隔由N個人花費的時間
[0, 3), [3, 10), [10, 12), and [12, Inf)
和我們爲之生存時間
10.3, 0.7, 12.2
我想三個科目來構建一個包含三個行(每個人一個)和四個列(每個時間間隔一個)的矩陣,其中包含每個人在每個時間間隔內花費的時間。
對於這個特殊的例子,我們有
3.0 7 0.3 0.0
0.7 0 0.0 0.0
3.0 7 2.0 0.2
你能幫我在R
獲得呢?我們的想法是將此對於N大於3
我嘗試大得多:
breaks <- c(0, 3, 10, 12, Inf) # interval break points
M <- length(breaks) - 1 # number of intervals
time <- c(10.3, 0.7, 12.2) # observed survival times
N <- length(time) # number of subjects
timeSpent <- matrix(NA, nrow=N, ncol=M)
for(m in 1:M)
{
ind <- which(breaks[m + 1] - time > 0)
timeSpent[ind, m] <- time[ind] - breaks[m]
timeSpent[-ind, m] <- breaks[m + 1] - breaks[m]
}
timeSpent <- replace(x=timeSpent, list=timeSpent < 0, values=0)
謝謝你這個不錯的建議(+1)。但是,我的測試表明,隨着N的增長,它會非常緩慢。我會編輯我的帖子,說明我想申請這個N大於3。 – user7064