這裏是按時間間隔的持續時間數據。在R中將開始結束時間間隔更改爲更小的間隔
id <- c("A", "B", "B", "B", "C", "C", "D", "E", "F", "F", "F", "F")
start <- c(368, 200, 230, 788, 230, 521, 272, 306, 0, 162, 337, 479)
end <- c(373.98, 229.98, 233.98, 842.98, 239.98, 639.98, 285.98,
306.98, 95.98, 162.98, 339.98, 539.98)
value <- c(20, 24, 24, 24, 19, 19, 100, 1, 8, 8, 8, 8)
dt <- data.frame(id, start, end, value)
head(dt)
id start end value
1 A 368 373.98 20
2 B 200 229.98 24
3 B 230 233.98 24
4 B 788 842.98 24
5 C 230 239.98 19
6 C 521 639.98 19
我想將以下數據轉換爲1001列內的表格格式(第一個= id和列從1到1000)。拆分間隔。
將持續時間數據轉換爲「檢查點」格式。爲每個ID創建行,其中列名稱的持續時間序列應該是$ id的$值。對於另一種情況= 0.
d <- data.frame(matrix(ncol = 1001, nrow = 1))
colnames(d) <- c("id", 1:1000)
dim(d)
[1] 1 1001
我在1001列內創建了日期幀。我知道如何爲行創建序列,但是我無法將這個序列實現到表中。
r中的哪個運算符可以幫助我?任何想法是從哪裏開始的?非常感謝您的幫助。
我希望這個例子足夠清楚,否則請讓我知道,我會盡力進一步澄清。
預期的輸出是1001列內的數據幀,其中第一個的名稱= id,從第二個到最後一個=數字從1到1000.對於每個唯一的id,當列名稱=時間間隔時,我們應該從$ value中添加值(數字從$ start到$ end)
對預期輸出不清楚。 – user227710
對於第一行即。對於ID'A',我猜測值'20'從第368列填充到第373或第374列?對於ID,'B',你有多個範圍應該相應填充 – akrun
@akrun,填充到373 – moseno