diff --git a/MTUS-W6-adult-episodes-data-processing.Rmd b/MTUS-W6-adult-episodes-data-processing.Rmd index 0cd85ae7ca89fe0950a5516797e593e0db436262..08d7b89e96649b6f69bdfa213b95c31e66c02d17 100644 --- a/MTUS-W6-adult-episodes-data-processing.Rmd +++ b/MTUS-W6-adult-episodes-data-processing.Rmd @@ -582,65 +582,35 @@ Having corrected the episode start times we can now set up a start/end times tha First the datetime version: -```{r createAllEpisodeStartEndDateTimes} - # Setting up corrected start and end timestamps - # all diaries start at 04:00 on the date given - # first the datetime version -# POSIXct works in seconds - mtusUKEpsDT$r_epStartDateTime <- mtusUKEpsDT$r_date + (4*60*60) # will be NA for those where r_date is unkown - # now add the corrected minutes * 60 ( = seconds) up to the start of the episode - mtusUKEpsDT$r_epStartDateTime <- mtusUKEpsDT$r_epStartDateTime + (mtusUKEpsDT$ba_startm*60) - # same for episode end - mtusUKEpsDT$r_epEndDateTime <- mtusUKEpsDT$r_epStartDateTime + (mtusUKEpsDT$end*60) +```{r createEpisodeStartEndDateTimes} + mtusUKEpsDT <- ba_MTUScreateEpisodeStartEndDateTimes(mtusUKEpsDT) print("# Check NAs in datetime version") print("# -> StartDateTime") summary(mtusUKEpsDT$r_epStartDateTime) print("# -> EndDateTime") summary(mtusUKEpsDT$r_epEndDateTime) + + ``` Now the HH:MM version. This is created as a string to avoid having to set a nonsense date. -```{r createAllEpisodeStartEndTimes} - # now the HH:MM version - # hours - mtusUKEpsDT$r_epStartH <- 4 + floor(mtusUKEpsDT$ba_startm/60) - print("# Check start hours") - summary(mtusUKEpsDT$r_epStartH) - print("# This has created hours > 23 (tomorrow). Need to fix them") - mtusUKEpsDT[, r_epStartHf := ifelse(r_epStartH > 23, - r_epStartH - 24, - r_epStartH) - ] - print("# check") - table(mtusUKEpsDT$r_epStartHf[mtusUKEpsDT$r_epStartH > 22], - mtusUKEpsDT$r_epStartH[mtusUKEpsDT$r_epStartH > 22]) - - # minutes - mtusUKEpsDT$r_epStartM <- 0 + (mtusUKEpsDT$ba_startm %% 60) # this is R's way of calculating the remainder!! - print("# Check start minutes") - summary(mtusUKEpsDT$r_epStartM) - - - # concatenate & make POSIXct - mtusUKEpsDT[,str_epStartTime := paste0(r_epStartHf, - ":", - r_epStartM) - ] - print("# Check distributions of episode starts (all surveys pooled)") - t <- mtusUKEpsDT[, - .( - N = length(epnum) - ), - by = str_epStartTime - ][order(str_epStartTime)] - kable(caption = "Check 1/2 hour coding (as string)",t) - - print("# Check NAs in str_epStartTime (should be none)") - print(paste0("# N rows with NAs in str_epStartTime:", - nrow(mtusUKEpsDT[is.na(str_epStartTime)])) - ) +```{r createAllEpisodeStartTimesAsString} +mtusUKEpsDT <- ba_MTUScreateAllEpisodeStartTimesAsString(mtusUKEpsDT) +print("# Check distributions of episode starts (all surveys pooled)") +t <- mtusUKEpsDT[, + .( + N = length(epnum) + ), + by = str_epStartTime + ][order(str_epStartTime)] +kable(caption = "Check 1/2 hour coding (as string)",t) + +print("# Check NAs in str_epStartTime (should be none)") +print(paste0("# N rows with NAs in str_epStartTime:", + nrow(mtusUKEpsDT[is.na(str_epStartTime)])) +) ``` diff --git a/MTUS-W6-adult-episodes-data-processing.html b/MTUS-W6-adult-episodes-data-processing.html index ae3d5c3e9dc16723e8ce9a2805198048b0e1d056..e2feae05208b8fa7b7dab60ac0cdc412f50b507c 100644 --- a/MTUS-W6-adult-episodes-data-processing.html +++ b/MTUS-W6-adult-episodes-data-processing.html @@ -118,7 +118,7 @@ $(document).ready(function () { <h1 class="title toc-ignore">MTUS World 6 Data Processing</h1> <h4 class="author"><em>Ben Anderson (<a href="mailto:b.anderson@soton.ac.uk">b.anderson@soton.ac.uk</a>, <a href="mailto:/@dataknut">/@dataknut</a>)</em></h4> -<h4 class="date"><em>Last run at: 2017-05-19 17:21:32</em></h4> +<h4 class="date"><em>Last run at: 2017-05-19 18:40:48</em></h4> </div> @@ -187,8 +187,8 @@ $(document).ready(function () { <pre><code>## Warning in read.spss(eFile): ~/Data/MTUS/World_6/MTUS-adult-episode.sav: ## Unrecognized record type 7, subtype 18 encountered in system file</code></pre> <pre><code>## re-encoding from CP1252</code></pre> -<pre><code>## user system elapsed -## 240.078 9.471 2291.320</code></pre> +<pre><code>## user system elapsed +## 211.301 8.466 222.597</code></pre> <p>We have loaded 11,501,221 rows of data for 11 countries.</p> <pre class="r"><code>kable(caption = "Number of diaries per year", ba_tidyNum(table(mtusEpsW6DT$survey,droplevels(mtusEpsW6DT$countrya)) # removes unused countries @@ -1501,15 +1501,7 @@ head(dt)</code></pre> <li>start & end as HH:MM to include those few cases where r_date is still unknown</li> </ul> <p>First the datetime version:</p> -<pre class="r"><code> # Setting up corrected start and end timestamps - # all diaries start at 04:00 on the date given - # first the datetime version -# POSIXct works in seconds - mtusUKEpsDT$r_epStartDateTime <- mtusUKEpsDT$r_date + (4*60*60) # will be NA for those where r_date is unkown - # now add the corrected minutes * 60 ( = seconds) up to the start of the episode - mtusUKEpsDT$r_epStartDateTime <- mtusUKEpsDT$r_epStartDateTime + (mtusUKEpsDT$ba_startm*60) - # same for episode end - mtusUKEpsDT$r_epEndDateTime <- mtusUKEpsDT$r_epStartDateTime + (mtusUKEpsDT$end*60) +<pre class="r"><code> mtusUKEpsDT <- ba_MTUScreateEpisodeStartEndDateTimes(mtusUKEpsDT) print("# Check NAs in datetime version")</code></pre> <pre><code>## [1] "# Check NAs in datetime version"</code></pre> @@ -1532,52 +1524,16 @@ head(dt)</code></pre> ## NA's ## "30"</code></pre> <p>Now the HH:MM version. This is created as a string to avoid having to set a nonsense date.</p> -<pre class="r"><code> # now the HH:MM version - # hours - mtusUKEpsDT$r_epStartH <- 4 + floor(mtusUKEpsDT$ba_startm/60) - print("# Check start hours")</code></pre> -<pre><code>## [1] "# Check start hours"</code></pre> -<pre class="r"><code> summary(mtusUKEpsDT$r_epStartH)</code></pre> -<pre><code>## Min. 1st Qu. Median Mean 3rd Qu. Max. -## 4.00 9.00 14.00 14.37 19.00 27.00</code></pre> -<pre class="r"><code> print("# This has created hours > 23 (tomorrow). Need to fix them")</code></pre> -<pre><code>## [1] "# This has created hours > 23 (tomorrow). Need to fix them"</code></pre> -<pre class="r"><code> mtusUKEpsDT[, r_epStartHf := ifelse(r_epStartH > 23, - r_epStartH - 24, - r_epStartH) - ] - print("# check")</code></pre> -<pre><code>## [1] "# check"</code></pre> -<pre class="r"><code> table(mtusUKEpsDT$r_epStartHf[mtusUKEpsDT$r_epStartH > 22], - mtusUKEpsDT$r_epStartH[mtusUKEpsDT$r_epStartH > 22])</code></pre> -<pre><code>## -## 23 24 25 26 27 -## 0 0 29568 0 0 0 -## 1 0 0 10030 0 0 -## 2 0 0 0 3664 0 -## 3 0 0 0 0 2720 -## 23 62154 0 0 0 0</code></pre> -<pre class="r"><code> # minutes - mtusUKEpsDT$r_epStartM <- 0 + (mtusUKEpsDT$ba_startm %% 60) # this is R's way of calculating the remainder!! - print("# Check start minutes")</code></pre> -<pre><code>## [1] "# Check start minutes"</code></pre> -<pre class="r"><code> summary(mtusUKEpsDT$r_epStartM)</code></pre> -<pre><code>## Min. 1st Qu. Median Mean 3rd Qu. Max. -## 0.00 0.00 20.00 20.28 30.00 55.00</code></pre> -<pre class="r"><code> # concatenate & make POSIXct - mtusUKEpsDT[,str_epStartTime := paste0(r_epStartHf, - ":", - r_epStartM) - ] - print("# Check distributions of episode starts (all surveys pooled)")</code></pre> +<pre class="r"><code>mtusUKEpsDT <- ba_MTUScreateAllEpisodeStartTimesAsString(mtusUKEpsDT) +print("# Check distributions of episode starts (all surveys pooled)")</code></pre> <pre><code>## [1] "# Check distributions of episode starts (all surveys pooled)"</code></pre> -<pre class="r"><code> t <- mtusUKEpsDT[, - .( - N = length(epnum) - ), - by = str_epStartTime - ][order(str_epStartTime)] - kable(caption = "Check 1/2 hour coding (as string)",t)</code></pre> +<pre class="r"><code>t <- mtusUKEpsDT[, + .( + N = length(epnum) + ), + by = str_epStartTime + ][order(str_epStartTime)] +kable(caption = "Check 1/2 hour coding (as string)",t)</code></pre> <table> <caption>Check 1/2 hour coding (as string)</caption> <thead> @@ -1589,7 +1545,7 @@ head(dt)</code></pre> <tbody> <tr class="odd"> <td align="left">0:0</td> -<td align="right">12432</td> +<td align="right">12495</td> </tr> <tr class="even"> <td align="left">0:10</td> @@ -1597,19 +1553,19 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">0:15</td> -<td align="right">2440</td> +<td align="right">2470</td> </tr> <tr class="even"> <td align="left">0:20</td> -<td align="right">2708</td> +<td align="right">2710</td> </tr> <tr class="odd"> <td align="left">0:25</td> -<td align="right">28</td> +<td align="right">27</td> </tr> <tr class="even"> <td align="left">0:30</td> -<td align="right">6598</td> +<td align="right">6639</td> </tr> <tr class="odd"> <td align="left">0:35</td> @@ -1617,43 +1573,43 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">0:40</td> -<td align="right">731</td> +<td align="right">734</td> </tr> <tr class="odd"> <td align="left">0:45</td> -<td align="right">1548</td> +<td align="right">1593</td> </tr> <tr class="even"> <td align="left">0:5</td> -<td align="right">16</td> +<td align="right">17</td> </tr> <tr class="odd"> <td align="left">0:50</td> -<td align="right">1517</td> +<td align="right">1522</td> </tr> <tr class="even"> <td align="left">0:55</td> -<td align="right">12</td> +<td align="right">13</td> </tr> <tr class="odd"> <td align="left">10:0</td> -<td align="right">22025</td> +<td align="right">21981</td> </tr> <tr class="even"> <td align="left">10:10</td> -<td align="right">4810</td> +<td align="right">4814</td> </tr> <tr class="odd"> <td align="left">10:15</td> -<td align="right">6190</td> +<td align="right">6198</td> </tr> <tr class="even"> <td align="left">10:20</td> -<td align="right">5323</td> +<td align="right">5312</td> </tr> <tr class="odd"> <td align="left">10:25</td> -<td align="right">96</td> +<td align="right">97</td> </tr> <tr class="even"> <td align="left">10:30</td> @@ -1661,71 +1617,71 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">10:35</td> -<td align="right">39</td> +<td align="right">38</td> </tr> <tr class="even"> <td align="left">10:40</td> -<td align="right">4439</td> +<td align="right">4441</td> </tr> <tr class="odd"> <td align="left">10:45</td> -<td align="right">6153</td> +<td align="right">6165</td> </tr> <tr class="even"> <td align="left">10:5</td> -<td align="right">42</td> +<td align="right">41</td> </tr> <tr class="odd"> <td align="left">10:50</td> -<td align="right">5233</td> +<td align="right">5243</td> </tr> <tr class="even"> <td align="left">10:55</td> -<td align="right">86</td> +<td align="right">84</td> </tr> <tr class="odd"> <td align="left">11:0</td> -<td align="right">16773</td> +<td align="right">16809</td> </tr> <tr class="even"> <td align="left">11:10</td> -<td align="right">4302</td> +<td align="right">4299</td> </tr> <tr class="odd"> <td align="left">11:15</td> -<td align="right">4781</td> +<td align="right">4800</td> </tr> <tr class="even"> <td align="left">11:20</td> -<td align="right">4721</td> +<td align="right">4735</td> </tr> <tr class="odd"> <td align="left">11:25</td> -<td align="right">62</td> +<td align="right">65</td> </tr> <tr class="even"> <td align="left">11:30</td> -<td align="right">14349</td> +<td align="right">14380</td> </tr> <tr class="odd"> <td align="left">11:35</td> -<td align="right">29</td> +<td align="right">28</td> </tr> <tr class="even"> <td align="left">11:40</td> -<td align="right">3887</td> +<td align="right">3899</td> </tr> <tr class="odd"> <td align="left">11:45</td> -<td align="right">5324</td> +<td align="right">5329</td> </tr> <tr class="even"> <td align="left">11:5</td> -<td align="right">43</td> +<td align="right">40</td> </tr> <tr class="odd"> <td align="left">11:50</td> -<td align="right">4950</td> +<td align="right">4939</td> </tr> <tr class="even"> <td align="left">11:55</td> @@ -1733,67 +1689,67 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">12:0</td> -<td align="right">22530</td> +<td align="right">22510</td> </tr> <tr class="even"> <td align="left">12:10</td> -<td align="right">4788</td> +<td align="right">4781</td> </tr> <tr class="odd"> <td align="left">12:15</td> -<td align="right">6780</td> +<td align="right">6767</td> </tr> <tr class="even"> <td align="left">12:20</td> -<td align="right">5200</td> +<td align="right">5192</td> </tr> <tr class="odd"> <td align="left">12:25</td> -<td align="right">86</td> +<td align="right">85</td> </tr> <tr class="even"> <td align="left">12:30</td> -<td align="right">21363</td> +<td align="right">21346</td> </tr> <tr class="odd"> <td align="left">12:35</td> -<td align="right">61</td> +<td align="right">63</td> </tr> <tr class="even"> <td align="left">12:40</td> -<td align="right">4627</td> +<td align="right">4624</td> </tr> <tr class="odd"> <td align="left">12:45</td> -<td align="right">8742</td> +<td align="right">8727</td> </tr> <tr class="even"> <td align="left">12:5</td> -<td align="right">42</td> +<td align="right">45</td> </tr> <tr class="odd"> <td align="left">12:50</td> -<td align="right">5766</td> +<td align="right">5773</td> </tr> <tr class="even"> <td align="left">12:55</td> -<td align="right">107</td> +<td align="right">108</td> </tr> <tr class="odd"> <td align="left">13:0</td> -<td align="right">28319</td> +<td align="right">28306</td> </tr> <tr class="even"> <td align="left">13:10</td> -<td align="right">5064</td> +<td align="right">5068</td> </tr> <tr class="odd"> <td align="left">13:15</td> -<td align="right">6382</td> +<td align="right">6391</td> </tr> <tr class="even"> <td align="left">13:20</td> -<td align="right">5405</td> +<td align="right">5407</td> </tr> <tr class="odd"> <td align="left">13:25</td> @@ -1801,11 +1757,11 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">13:30</td> -<td align="right">20465</td> +<td align="right">20473</td> </tr> <tr class="odd"> <td align="left">13:35</td> -<td align="right">52</td> +<td align="right">48</td> </tr> <tr class="even"> <td align="left">13:40</td> @@ -1813,59 +1769,59 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">13:45</td> -<td align="right">6625</td> +<td align="right">6620</td> </tr> <tr class="even"> <td align="left">13:5</td> -<td align="right">76</td> +<td align="right">75</td> </tr> <tr class="odd"> <td align="left">13:50</td> -<td align="right">5208</td> +<td align="right">5200</td> </tr> <tr class="even"> <td align="left">13:55</td> -<td align="right">69</td> +<td align="right">70</td> </tr> <tr class="odd"> <td align="left">14:0</td> -<td align="right">19661</td> +<td align="right">19696</td> </tr> <tr class="even"> <td align="left">14:10</td> -<td align="right">4282</td> +<td align="right">4283</td> </tr> <tr class="odd"> <td align="left">14:15</td> -<td align="right">4722</td> +<td align="right">4717</td> </tr> <tr class="even"> <td align="left">14:20</td> -<td align="right">4301</td> +<td align="right">4295</td> </tr> <tr class="odd"> <td align="left">14:25</td> -<td align="right">63</td> +<td align="right">61</td> </tr> <tr class="even"> <td align="left">14:30</td> -<td align="right">14006</td> +<td align="right">14026</td> </tr> <tr class="odd"> <td align="left">14:35</td> -<td align="right">40</td> +<td align="right">39</td> </tr> <tr class="even"> <td align="left">14:40</td> -<td align="right">3734</td> +<td align="right">3740</td> </tr> <tr class="odd"> <td align="left">14:45</td> -<td align="right">5746</td> +<td align="right">5773</td> </tr> <tr class="even"> <td align="left">14:5</td> -<td align="right">43</td> +<td align="right">44</td> </tr> <tr class="odd"> <td align="left">14:50</td> @@ -1877,39 +1833,39 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">15:0</td> -<td align="right">17977</td> +<td align="right">18009</td> </tr> <tr class="even"> <td align="left">15:10</td> -<td align="right">4022</td> +<td align="right">4021</td> </tr> <tr class="odd"> <td align="left">15:15</td> -<td align="right">4856</td> +<td align="right">4885</td> </tr> <tr class="even"> <td align="left">15:20</td> -<td align="right">4202</td> +<td align="right">4199</td> </tr> <tr class="odd"> <td align="left">15:25</td> -<td align="right">77</td> +<td align="right">75</td> </tr> <tr class="even"> <td align="left">15:30</td> -<td align="right">13909</td> +<td align="right">13905</td> </tr> <tr class="odd"> <td align="left">15:35</td> -<td align="right">31</td> +<td align="right">35</td> </tr> <tr class="even"> <td align="left">15:40</td> -<td align="right">3576</td> +<td align="right">3578</td> </tr> <tr class="odd"> <td align="left">15:45</td> -<td align="right">5667</td> +<td align="right">5678</td> </tr> <tr class="even"> <td align="left">15:5</td> @@ -1917,47 +1873,47 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">15:50</td> -<td align="right">4231</td> +<td align="right">4238</td> </tr> <tr class="even"> <td align="left">15:55</td> -<td align="right">86</td> +<td align="right">84</td> </tr> <tr class="odd"> <td align="left">16:0</td> -<td align="right">20705</td> +<td align="right">20666</td> </tr> <tr class="even"> <td align="left">16:10</td> -<td align="right">4294</td> +<td align="right">4296</td> </tr> <tr class="odd"> <td align="left">16:15</td> -<td align="right">5300</td> +<td align="right">5294</td> </tr> <tr class="even"> <td align="left">16:20</td> -<td align="right">4704</td> +<td align="right">4694</td> </tr> <tr class="odd"> <td align="left">16:25</td> -<td align="right">70</td> +<td align="right">73</td> </tr> <tr class="even"> <td align="left">16:30</td> -<td align="right">17890</td> +<td align="right">17896</td> </tr> <tr class="odd"> <td align="left">16:35</td> -<td align="right">42</td> +<td align="right">43</td> </tr> <tr class="even"> <td align="left">16:40</td> -<td align="right">4159</td> +<td align="right">4154</td> </tr> <tr class="odd"> <td align="left">16:45</td> -<td align="right">7709</td> +<td align="right">7688</td> </tr> <tr class="even"> <td align="left">16:5</td> @@ -1969,23 +1925,23 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">16:55</td> -<td align="right">81</td> +<td align="right">83</td> </tr> <tr class="odd"> <td align="left">17:0</td> -<td align="right">25187</td> +<td align="right">25204</td> </tr> <tr class="even"> <td align="left">17:10</td> -<td align="right">5064</td> +<td align="right">5069</td> </tr> <tr class="odd"> <td align="left">17:15</td> -<td align="right">7453</td> +<td align="right">7447</td> </tr> <tr class="even"> <td align="left">17:20</td> -<td align="right">5659</td> +<td align="right">5672</td> </tr> <tr class="odd"> <td align="left">17:25</td> @@ -1993,19 +1949,19 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">17:30</td> -<td align="right">24852</td> +<td align="right">24811</td> </tr> <tr class="odd"> <td align="left">17:35</td> -<td align="right">25</td> +<td align="right">24</td> </tr> <tr class="even"> <td align="left">17:40</td> -<td align="right">5140</td> +<td align="right">5133</td> </tr> <tr class="odd"> <td align="left">17:45</td> -<td align="right">9205</td> +<td align="right">9183</td> </tr> <tr class="even"> <td align="left">17:5</td> @@ -2013,27 +1969,27 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">17:50</td> -<td align="right">6281</td> +<td align="right">6282</td> </tr> <tr class="even"> <td align="left">17:55</td> -<td align="right">69</td> +<td align="right">66</td> </tr> <tr class="odd"> <td align="left">18:0</td> -<td align="right">27529</td> +<td align="right">27526</td> </tr> <tr class="even"> <td align="left">18:10</td> -<td align="right">5575</td> +<td align="right">5555</td> </tr> <tr class="odd"> <td align="left">18:15</td> -<td align="right">7315</td> +<td align="right">7305</td> </tr> <tr class="even"> <td align="left">18:20</td> -<td align="right">5951</td> +<td align="right">5954</td> </tr> <tr class="odd"> <td align="left">18:25</td> @@ -2041,19 +1997,19 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">18:30</td> -<td align="right">23581</td> +<td align="right">23595</td> </tr> <tr class="odd"> <td align="left">18:35</td> -<td align="right">23</td> +<td align="right">24</td> </tr> <tr class="even"> <td align="left">18:40</td> -<td align="right">5057</td> +<td align="right">5060</td> </tr> <tr class="odd"> <td align="left">18:45</td> -<td align="right">8061</td> +<td align="right">8082</td> </tr> <tr class="even"> <td align="left">18:5</td> @@ -2061,83 +2017,83 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">18:50</td> -<td align="right">5833</td> +<td align="right">5832</td> </tr> <tr class="even"> <td align="left">18:55</td> -<td align="right">64</td> +<td align="right">66</td> </tr> <tr class="odd"> <td align="left">19:0</td> -<td align="right">26505</td> +<td align="right">26470</td> </tr> <tr class="even"> <td align="left">19:10</td> -<td align="right">4895</td> +<td align="right">4908</td> </tr> <tr class="odd"> <td align="left">19:15</td> -<td align="right">5888</td> +<td align="right">5886</td> </tr> <tr class="even"> <td align="left">19:20</td> -<td align="right">5599</td> +<td align="right">5594</td> </tr> <tr class="odd"> <td align="left">19:25</td> -<td align="right">51</td> +<td align="right">50</td> </tr> <tr class="even"> <td align="left">19:30</td> -<td align="right">19033</td> +<td align="right">19029</td> </tr> <tr class="odd"> <td align="left">19:35</td> -<td align="right">40</td> +<td align="right">39</td> </tr> <tr class="even"> <td align="left">19:40</td> -<td align="right">4343</td> +<td align="right">4345</td> </tr> <tr class="odd"> <td align="left">19:45</td> -<td align="right">5001</td> +<td align="right">5019</td> </tr> <tr class="even"> <td align="left">19:5</td> -<td align="right">41</td> +<td align="right">42</td> </tr> <tr class="odd"> <td align="left">19:50</td> -<td align="right">5260</td> +<td align="right">5254</td> </tr> <tr class="even"> <td align="left">19:55</td> -<td align="right">73</td> +<td align="right">71</td> </tr> <tr class="odd"> <td align="left">1:0</td> -<td align="right">4610</td> +<td align="right">4611</td> </tr> <tr class="even"> <td align="left">1:10</td> -<td align="right">526</td> +<td align="right">530</td> </tr> <tr class="odd"> <td align="left">1:15</td> -<td align="right">743</td> +<td align="right">759</td> </tr> <tr class="even"> <td align="left">1:20</td> -<td align="right">909</td> +<td align="right">911</td> </tr> <tr class="odd"> <td align="left">1:25</td> -<td align="right">4</td> +<td align="right">5</td> </tr> <tr class="even"> <td align="left">1:30</td> -<td align="right">2133</td> +<td align="right">2143</td> </tr> <tr class="odd"> <td align="left">1:35</td> @@ -2145,7 +2101,7 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">1:40</td> -<td align="right">306</td> +<td align="right">310</td> </tr> <tr class="odd"> <td align="left">1:45</td> @@ -2153,11 +2109,11 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">1:5</td> -<td align="right">5</td> +<td align="right">4</td> </tr> <tr class="odd"> <td align="left">1:50</td> -<td align="right">297</td> +<td align="right">296</td> </tr> <tr class="even"> <td align="left">1:55</td> @@ -2165,19 +2121,19 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">20:0</td> -<td align="right">22291</td> +<td align="right">22289</td> </tr> <tr class="even"> <td align="left">20:10</td> -<td align="right">4246</td> +<td align="right">4250</td> </tr> <tr class="odd"> <td align="left">20:15</td> -<td align="right">5106</td> +<td align="right">5122</td> </tr> <tr class="even"> <td align="left">20:20</td> -<td align="right">4525</td> +<td align="right">4527</td> </tr> <tr class="odd"> <td align="left">20:25</td> @@ -2185,67 +2141,67 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">20:30</td> -<td align="right">15189</td> +<td align="right">15226</td> </tr> <tr class="odd"> <td align="left">20:35</td> -<td align="right">51</td> +<td align="right">50</td> </tr> <tr class="even"> <td align="left">20:40</td> -<td align="right">3701</td> +<td align="right">3705</td> </tr> <tr class="odd"> <td align="left">20:45</td> -<td align="right">6029</td> +<td align="right">6022</td> </tr> <tr class="even"> <td align="left">20:5</td> -<td align="right">36</td> +<td align="right">34</td> </tr> <tr class="odd"> <td align="left">20:50</td> -<td align="right">4639</td> +<td align="right">4642</td> </tr> <tr class="even"> <td align="left">20:55</td> -<td align="right">101</td> +<td align="right">103</td> </tr> <tr class="odd"> <td align="left">21:0</td> -<td align="right">17927</td> +<td align="right">17990</td> </tr> <tr class="even"> <td align="left">21:10</td> -<td align="right">3987</td> +<td align="right">3985</td> </tr> <tr class="odd"> <td align="left">21:15</td> -<td align="right">4844</td> +<td align="right">4832</td> </tr> <tr class="even"> <td align="left">21:20</td> -<td align="right">3842</td> +<td align="right">3838</td> </tr> <tr class="odd"> <td align="left">21:25</td> -<td align="right">89</td> +<td align="right">86</td> </tr> <tr class="even"> <td align="left">21:30</td> -<td align="right">14863</td> +<td align="right">14847</td> </tr> <tr class="odd"> <td align="left">21:35</td> -<td align="right">55</td> +<td align="right">57</td> </tr> <tr class="even"> <td align="left">21:40</td> -<td align="right">3248</td> +<td align="right">3241</td> </tr> <tr class="odd"> <td align="left">21:45</td> -<td align="right">5949</td> +<td align="right">5958</td> </tr> <tr class="even"> <td align="left">21:5</td> @@ -2253,39 +2209,39 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">21:50</td> -<td align="right">4394</td> +<td align="right">4382</td> </tr> <tr class="even"> <td align="left">21:55</td> -<td align="right">113</td> +<td align="right">114</td> </tr> <tr class="odd"> <td align="left">22:0</td> -<td align="right">22855</td> +<td align="right">22820</td> </tr> <tr class="even"> <td align="left">22:10</td> -<td align="right">3965</td> +<td align="right">3960</td> </tr> <tr class="odd"> <td align="left">22:15</td> -<td align="right">5841</td> +<td align="right">5825</td> </tr> <tr class="even"> <td align="left">22:20</td> -<td align="right">4262</td> +<td align="right">4267</td> </tr> <tr class="odd"> <td align="left">22:25</td> -<td align="right">94</td> +<td align="right">98</td> </tr> <tr class="even"> <td align="left">22:30</td> -<td align="right">19703</td> +<td align="right">19662</td> </tr> <tr class="odd"> <td align="left">22:35</td> -<td align="right">41</td> +<td align="right">40</td> </tr> <tr class="even"> <td align="left">22:40</td> @@ -2293,7 +2249,7 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">22:45</td> -<td align="right">6813</td> +<td align="right">6774</td> </tr> <tr class="even"> <td align="left">22:5</td> @@ -2301,75 +2257,75 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">22:50</td> -<td align="right">4954</td> +<td align="right">4957</td> </tr> <tr class="even"> <td align="left">22:55</td> -<td align="right">86</td> +<td align="right">82</td> </tr> <tr class="odd"> <td align="left">23:0</td> -<td align="right">21698</td> +<td align="right">21680</td> </tr> <tr class="even"> <td align="left">23:10</td> -<td align="right">3350</td> +<td align="right">3351</td> </tr> <tr class="odd"> <td align="left">23:15</td> -<td align="right">5275</td> +<td align="right">5301</td> </tr> <tr class="even"> <td align="left">23:20</td> -<td align="right">4992</td> +<td align="right">4986</td> </tr> <tr class="odd"> <td align="left">23:25</td> -<td align="right">46</td> +<td align="right">48</td> </tr> <tr class="even"> <td align="left">23:30</td> -<td align="right">16150</td> +<td align="right">16196</td> </tr> <tr class="odd"> <td align="left">23:35</td> -<td align="right">28</td> +<td align="right">29</td> </tr> <tr class="even"> <td align="left">23:40</td> -<td align="right">2239</td> +<td align="right">2240</td> </tr> <tr class="odd"> <td align="left">23:45</td> -<td align="right">4349</td> +<td align="right">4414</td> </tr> <tr class="even"> <td align="left">23:5</td> -<td align="right">40</td> +<td align="right">41</td> </tr> <tr class="odd"> <td align="left">23:50</td> -<td align="right">3948</td> +<td align="right">3953</td> </tr> <tr class="even"> <td align="left">23:55</td> -<td align="right">39</td> +<td align="right">43</td> </tr> <tr class="odd"> <td align="left">2:0</td> -<td align="right">1265</td> +<td align="right">1303</td> </tr> <tr class="even"> <td align="left">2:10</td> -<td align="right">297</td> +<td align="right">294</td> </tr> <tr class="odd"> <td align="left">2:15</td> -<td align="right">332</td> +<td align="right">349</td> </tr> <tr class="even"> <td align="left">2:20</td> -<td align="right">257</td> +<td align="right">261</td> </tr> <tr class="odd"> <td align="left">2:25</td> @@ -2377,7 +2333,7 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">2:30</td> -<td align="right">721</td> +<td align="right">729</td> </tr> <tr class="odd"> <td align="left">2:35</td> @@ -2385,11 +2341,11 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">2:40</td> -<td align="right">216</td> +<td align="right">213</td> </tr> <tr class="odd"> <td align="left">2:45</td> -<td align="right">330</td> +<td align="right">336</td> </tr> <tr class="even"> <td align="left">2:5</td> @@ -2397,27 +2353,27 @@ head(dt)</code></pre> </tr> <tr class="odd"> <td align="left">2:50</td> -<td align="right">231</td> +<td align="right">236</td> </tr> <tr class="even"> <td align="left">2:55</td> -<td align="right">7</td> +<td align="right">6</td> </tr> <tr class="odd"> <td align="left">3:0</td> -<td align="right">685</td> +<td align="right">761</td> </tr> <tr class="even"> <td align="left">3:10</td> -<td align="right">215</td> +<td align="right">218</td> </tr> <tr class="odd"> <td align="left">3:15</td> -<td align="right">209</td> +<td align="right">221</td> </tr> <tr class="even"> <td align="left">3:20</td> -<td align="right">187</td> +<td align="right">185</td> </tr> <tr class="odd"> <td align="left">3:25</td> @@ -2425,7 +2381,7 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">3:30</td> -<td align="right">342</td> +<td align="right">356</td> </tr> <tr class="odd"> <td align="left">3:35</td> @@ -2433,303 +2389,311 @@ head(dt)</code></pre> </tr> <tr class="even"> <td align="left">3:40</td> -<td align="right">168</td> +<td align="right">167</td> </tr> <tr class="odd"> <td align="left">3:45</td> -<td align="right">171</td> +<td align="right">178</td> </tr> <tr class="even"> -<td align="left">3:50</td> -<td align="right">739</td> +<td align="left">3:5</td> +<td align="right">1</td> </tr> <tr class="odd"> -<td align="left">3:55</td> -<td align="right">1</td> +<td align="left">3:50</td> +<td align="right">730</td> </tr> <tr class="even"> -<td align="left">4:0</td> -<td align="right">58945</td> +<td align="left">3:55</td> +<td align="right">2</td> </tr> <tr class="odd"> +<td align="left">4:0</td> +<td align="right">58505</td> +</tr> +<tr class="even"> <td align="left">4:10</td> <td align="right">214</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">4:15</td> -<td align="right">216</td> +<td align="right">218</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">4:20</td> -<td align="right">268</td> +<td align="right">267</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">4:25</td> <td align="right">3</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">4:30</td> -<td align="right">637</td> +<td align="right">636</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">4:40</td> -<td align="right">269</td> +<td align="right">275</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">4:45</td> -<td align="right">434</td> +<td align="right">435</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">4:50</td> -<td align="right">343</td> +<td align="right">349</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">4:55</td> <td align="right">12</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:0</td> -<td align="right">1548</td> +<td align="right">1898</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">5:10</td> <td align="right">526</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:15</td> -<td align="right">623</td> +<td align="right">621</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">5:20</td> -<td align="right">640</td> +<td align="right">641</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:25</td> <td align="right">8</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">5:30</td> <td align="right">2305</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:40</td> -<td align="right">683</td> +<td align="right">679</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">5:45</td> -<td align="right">1305</td> +<td align="right">1302</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:5</td> <td align="right">3</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">5:50</td> -<td align="right">1057</td> +<td align="right">1064</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">5:55</td> <td align="right">14</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:0</td> -<td align="right">5241</td> +<td align="right">5246</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:10</td> -<td align="right">1354</td> +<td align="right">1361</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:15</td> -<td align="right">2314</td> +<td align="right">2302</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:20</td> -<td align="right">1914</td> +<td align="right">1920</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:25</td> -<td align="right">64</td> +<td align="right">63</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:30</td> -<td align="right">8986</td> +<td align="right">8981</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:35</td> <td align="right">22</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:40</td> -<td align="right">2215</td> +<td align="right">2220</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:45</td> -<td align="right">4761</td> +<td align="right">4748</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:5</td> <td align="right">12</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">6:50</td> <td align="right">3357</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">6:55</td> -<td align="right">149</td> +<td align="right">147</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:0</td> -<td align="right">17355</td> +<td align="right">17330</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:10</td> -<td align="right">4067</td> +<td align="right">4071</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:15</td> -<td align="right">6540</td> +<td align="right">6510</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:20</td> -<td align="right">5494</td> +<td align="right">5496</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:25</td> <td align="right">191</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:30</td> -<td align="right">21505</td> +<td align="right">21481</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:35</td> -<td align="right">56</td> +<td align="right">55</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:40</td> <td align="right">5200</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:45</td> -<td align="right">8560</td> +<td align="right">8513</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:5</td> <td align="right">48</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">7:50</td> -<td align="right">6876</td> +<td align="right">6884</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">7:55</td> -<td align="right">206</td> +<td align="right">205</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:0</td> -<td align="right">25465</td> +<td align="right">25437</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:10</td> -<td align="right">5877</td> +<td align="right">5869</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:15</td> -<td align="right">8098</td> +<td align="right">8084</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:20</td> -<td align="right">6989</td> +<td align="right">6983</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:25</td> -<td align="right">133</td> +<td align="right">128</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:30</td> -<td align="right">23928</td> +<td align="right">23886</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:35</td> -<td align="right">57</td> +<td align="right">58</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:40</td> -<td align="right">5754</td> +<td align="right">5746</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:45</td> -<td align="right">8556</td> +<td align="right">8518</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:5</td> -<td align="right">54</td> +<td align="right">53</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">8:50</td> -<td align="right">6954</td> +<td align="right">6943</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">8:55</td> -<td align="right">103</td> +<td align="right">105</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:0</td> -<td align="right">24095</td> +<td align="right">24051</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:10</td> -<td align="right">5663</td> +<td align="right">5660</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:15</td> -<td align="right">6966</td> +<td align="right">6910</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:20</td> -<td align="right">6003</td> +<td align="right">6009</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:25</td> -<td align="right">97</td> +<td align="right">99</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:30</td> -<td align="right">19143</td> +<td align="right">19103</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:35</td> <td align="right">34</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:40</td> -<td align="right">4830</td> +<td align="right">4818</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:45</td> -<td align="right">7474</td> +<td align="right">7457</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:5</td> -<td align="right">32</td> +<td align="right">33</td> </tr> -<tr class="odd"> +<tr class="even"> <td align="left">9:50</td> -<td align="right">5702</td> +<td align="right">5694</td> </tr> -<tr class="even"> +<tr class="odd"> <td align="left">9:55</td> <td align="right">93</td> </tr> +<tr class="even"> +<td align="left">NA:NA</td> +<td align="right">30</td> +</tr> </tbody> </table> -<pre class="r"><code> print("# Check NAs in str_epStartTime (should be none)")</code></pre> +<pre class="r"><code>print("# Check NAs in str_epStartTime (should be none)")</code></pre> <pre><code>## [1] "# Check NAs in str_epStartTime (should be none)"</code></pre> -<pre class="r"><code> print(paste0("# N rows with NAs in str_epStartTime:", - nrow(mtusUKEpsDT[is.na(str_epStartTime)])) - )</code></pre> +<pre class="r"><code>print(paste0("# N rows with NAs in str_epStartTime:", + nrow(mtusUKEpsDT[is.na(str_epStartTime)])) +)</code></pre> <pre><code>## [1] "# N rows with NAs in str_epStartTime:0"</code></pre> </div> <div id="create-pooled-survey-variable" class="section level2"> @@ -3930,7 +3894,7 @@ kable( </tbody> </table> <hr /> -<p><strong>Meta:</strong> Analysis completed in: 40.052 seconds using <a href="https://cran.r-project.org/package=knitr">knitr</a> in <a href="http://www.rstudio.com">RStudio</a>.</p> +<p><strong>Meta:</strong> Analysis completed in: 5.606 seconds using <a href="https://cran.r-project.org/package=knitr">knitr</a> in <a href="http://www.rstudio.com">RStudio</a>.</p> </div> </div> <div id="references" class="section level1 unnumbered"> diff --git a/mtusFunctions.R b/mtusFunctions.R index 2d4cc76339284e130200bd25fa9a7f9e1cce58e4..4299ab4798eaf02a681d97f85dd3092aa94f79a3 100644 --- a/mtusFunctions.R +++ b/mtusFunctions.R @@ -30,6 +30,38 @@ ba_tidyNum <- function(number) { format(number, big.mark=",", scientific=FALSE) } +### +ba_MTUScreateEpisodeStartEndDateTimes <- function(dt){ + # Setting up corrected start and end timestamps + # all diaries start at 04:00 on the date given + # first the datetime version + # POSIXct works in seconds + dt$r_epStartDateTime <- dt$r_date + (4*60*60) # will be NA for those where r_date is unkown + # now add the corrected minutes * 60 ( = seconds) up to the start of the episode + dt$r_epStartDateTime <- dt$r_epStartDateTime + (dt$ba_startm*60) + # same for episode end + dt$r_epEndDateTime <- dt$r_epStartDateTime + (dt$end*60) + + # r half hour (includes date) + dt <- dt[, r_epStartHalfHourDateTime := floor_date(r_epStartDateTime, + unit ="30 minutes")] + +} + +### +ba_MTUScreateAllEpisodeStartTimesAsString <- function(dt){ + # start time as string + # Use the fake start time we created earlier which includes all cases + dt <- dt[, st_hour := as.POSIXlt(dt$r_epStartDateTime)$hour] + dt <- dt[, st_mins := as.POSIXlt(mtusUKEpsDT$r_epStartDateTime)$min] + dt <- dt[, str_epStartTime := paste0(dt$st_hour, + ":", + dt$st_mins + ) + ] + +} + ### # not needed - use wdy(x, label = TRUE, abbr = FALSE) from lubridate # ba_setDayOfWeekLabel <- function(var) {