在R
,我有三个时间点
时间 <- c(7, 1, 4)
并假设时间段被划分为三个区间:(0, 3], (3, 5], (5, 8]
breaks <- c(3, 5, 8)
timeSpent
每个观察有一行,每个时期有一列。它给出了每个时期每个观察所花费的时间:
timeSpent <- outer(X=time, Y=breaks, FUN=pmin)
timeSpent <- cbind(timeSpent[, 1],
sapply(X=1:(length(breaks) - 1), FUN=function(ii)
timeSpent[, ii + 1] - timeSpent[, ii]))
> timeSpent
[,1] [,2] [,3]
[1,] 3 2 2
[2,] 1 0 0
[3,] 3 1 0
例如,观察 1 在间隔 1 中花费了 3 天,在间隔 2 中花费了 2 天,在间隔 3 中又花费了 2 天。对于观察 2,它在间隔 1 中仅花费了 1 天,在其余间隔中没有任何内容。
你有更优雅的获取方式timeSpent
吗?