如何更有效地按时间分割数据?

时间:2019-12-24 16:06:30

标签: r split

我想按一定的时间间隔分割数据。

让我们举个例子。这是var files = []; //array containing the file paths, e.g. "/download/file.exe" files.forEach(file => { document.write(`<a href="${file}" download> <button>Download ${file}</button> </a>`) }) ,它嵌入在var files = []; //array containing the file paths, e.g. "/download/file.exe" var filenames = []; //array containing the file names, e.g. "File.exe" files.forEach((file, index) => { document.write(`<a href="${file}" download> <button>Download ${filenames[index]}</button> </a>`) }) 包中。为简化起见,我只考虑其haartdat(ID)为1

ipw

在此数据中,时间间隔为“ 100”。我在开始治疗后的100、200、300,.... 2800(例如小时)中观察到患者1。 2900小时后,观察结束。列出了每个时间间隔内的其他信息(例如patientdata("haartdat") testset<-haartdat%>%filter(tstart>=0 & patient==1) patient tstart fuptime haartind event sex age cd4.sqrt endtime dropout 1 1 0 100 0 0 1 22 25.59297 2900 0 2 1 100 200 0 0 1 22 23.47339 2900 0 3 1 200 300 0 0 1 22 24.16609 2900 0 4 1 300 400 0 0 1 22 23.23790 2900 0 5 1 400 500 0 0 1 22 24.85961 2900 0 6 1 500 600 0 0 1 22 25.94224 2900 0 sex)。

我想将间隔缩短50。因此,数据将像

age

我使用了cd4.sqrt函数,该函数嵌入在 patient tstart fuptime haartind event sex age cd4.sqrt endtime dropout 1 1 0 50 0 0 1 22 25.59297 2900 0 2 1 50 100 0 0 1 22 25.59297 2900 0 3 1 100 150 0 0 1 22 23.47339 2900 0 4 1 150 200 0 0 1 22 23.47339 2900 0 5 1 200 250 0 0 1 22 24.16609 2900 0 6 1 250 300 0 0 1 22 24.16609 2900 0 包中。它按一定的数字单位拆分数据。但是,它将它从零拆分。

timeSplitter

如您所见,Greg是从0开始的。之后,我使用了test1 <- test %>% timeSplitter(by = 50, # The time that we want to split by event_var = "event", time_var = "fuptime", event_start_status = 0) head(test1) patient tstart haartind event sex age cd4.sqrt endtime dropout Start_time Stop_time 1 1 0 0 0 1 22 25.59297 2900 0 0 50 2 1 0 0 0 1 22 25.59297 2900 0 50 100 3 1 100 0 0 1 22 23.47339 2900 0 0 50 4 1 100 0 0 1 22 23.47339 2900 0 50 100 5 1 100 0 0 1 22 23.47339 2900 0 100 150 6 1 100 0 0 1 22 23.47339 2900 0 150 200 中的Start_time,将filter下面的数据切掉了。

dplyr

这些数据正是我所期望的。但是,它过于计算。如果我将其减少1或患者人数增加,则需要更多时间。

如何使这一过程更有效?

(此外,如果没有使用tstart的其他解决方案,我将不胜感激)

0 个答案:

没有答案