[R/in-degree.R:186:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/in-degree.R#L186) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x) {
                   ^
```
[R/ingoing-contact-chain.R:183:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/ingoing-contact-chain.R#L183) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x) {
                   ^
```
[R/ingoing-contact-chain.R:189:46:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/ingoing-contact-chain.R#L189) *style:* **Commas should always have a space after.**
```r
              return(length(setdiff(x@source,x@root)))
                                             ^
```
[R/ingoing-contact-chain.R:197:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/ingoing-contact-chain.R#L197) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x) {
                   ^
```
[R/network-structure.R:135:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-structure.R#L135) *style:* **Lines should not be more than 80 characters.**
```r
              i <- tmp[seq_len(length(tmp) - 1)] != tmp[seq_len(length(tmp))[-1]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:248:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L248) *style:* **Lines should not be more than 80 characters.**
```r
                     inDays = as.integer(x@ingoingContacts@tEnd - x@ingoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:251:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L251) *style:* **Lines should not be more than 80 characters.**
```r
                     outDays = as.integer(x@outgoingContacts@tEnd - x@outgoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:254:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L254) *style:* **Lines should not be more than 80 characters.**
```r
                     ingoingContactChain = IngoingContactChain(x@ingoingContacts),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:255:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L255) *style:* **Lines should not be more than 80 characters.**
```r
                     outgoingContactChain = OutgoingContactChain(x@outgoingContacts))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:261:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L261) *style:* **functions should have cyclomatic complexity of less than 15, this has 38.**
```r
setMethod("NetworkSummary",
^
```
[R/network-summary.R:315:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L315) *style:* **Lines should not be more than 80 characters.**
```r
              ## so test that root is a integer the same way as binom.test test x
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:323:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L323) *style:* **Only use double-quotes.**
```r
              stop('invalid class of root')
                   ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:331:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L331) *style:* **Lines should not be more than 80 characters.**
```r
              if (!all(is.null(inBegin), is.null(inEnd), is.null(outBegin), is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:332:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L332) *style:* **Lines should not be more than 80 characters.**
```r
                  stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to NetworkSummary")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:343:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L343) *style:* **Lines should not be more than 80 characters.**
```r
              ## Test that days is a nonnegative integer the same way as binom.test test x
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:345:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L345) *style:* **Lines should not be more than 80 characters.**
```r
              if (any(is.na(days) | (days < 0)) || max(abs(days - daysr)) > 1e-07) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:365:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L365) *style:* **Lines should not be more than 80 characters.**
```r
          } else if (all(!is.null(inBegin), !is.null(inEnd), !is.null(outBegin), !is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:370:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L370) *style:* **Lines should not be more than 80 characters.**
```r
                  stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to NetworkSummary")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:373:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L373) *style:* **Lines should not be more than 80 characters.**
```r
              stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to NetworkSummary")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:456:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L456) *style:* **Lines should not be more than 80 characters.**
```r
              stop("root, inBegin, inEnd, outBegin and outEnd must have equal length")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:468:24:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L468) *style:* **Put spaces around all infix operators.**
```r
          contact_chain<- .Call("networkSummary",
                      ~^
```
[R/network-summary.R:469:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L469) *style:* **Lines should not be more than 80 characters.**
```r
                                as.integer(factor(x$source, levels = levels(nodes))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:470:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L470) *style:* **Lines should not be more than 80 characters.**
```r
                                as.integer(factor(x$destination, levels = levels(nodes))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:472:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L472) *style:* **Lines should not be more than 80 characters.**
```r
                                as.integer(factor(root, levels = levels(nodes))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:489:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L489) *style:* **Lines should not be more than 80 characters.**
```r
                            ingoingContactChain = contact_chain[["ingoingContactChain"]],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/network-summary.R:490:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/network-summary.R#L490) *style:* **Lines should not be more than 80 characters.**
```r
                            outgoingContactChain = contact_chain[["outgoingContactChain"]]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/out-degree.R:119:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L119) *style:* **Lines should not be more than 80 characters.**
```r
##'     Get the OutDegree for a data.frame with movements, see details and examples.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/out-degree.R:176:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L176) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x)
                   ^
```
[R/out-degree.R:177:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L177) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/out-degree.R:190:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L190) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x)
                   ^
```
[R/out-degree.R:191:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L191) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/out-degree.R:210:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/out-degree.R#L210) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/outgoing-contact-chain.R:67:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L67) *style:* **Lines should not be more than 80 characters.**
```r
##'     The \code{\link{OutgoingContactChain}} of the root within the time-interval
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/outgoing-contact-chain.R:77:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L77) *style:* **Lines should not be more than 80 characters.**
```r
##'     Get the OutgoingContactChain for a data.frame with movements, see examples.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/outgoing-contact-chain.R:135:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L135) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x)
                   ^
```
[R/outgoing-contact-chain.R:136:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L136) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/outgoing-contact-chain.R:138:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L138) *style:* **Lines should not be more than 80 characters.**
```r
              stop("Unable to determine OutgoingContactChain for ingoing contacts")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/outgoing-contact-chain.R:141:47:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L141) *style:* **Commas should always have a space after.**
```r
          return(length(setdiff(x@destination,x@root)))
                                              ^
```
[R/outgoing-contact-chain.R:149:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L149) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (x)
                   ^
```
[R/outgoing-contact-chain.R:150:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L150) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/outgoing-contact-chain.R:169:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/outgoing-contact-chain.R#L169) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/plot.R:73:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/plot.R#L73) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/plot.R:83:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/plot.R#L83) *style:* **Lines should not be more than 80 characters.**
```r
              tree$ingoing$bg <- ifelse(tree$ingoing$level > 0, "white", "black")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plot.R:96:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/plot.R#L96) *style:* **Lines should not be more than 80 characters.**
```r
              tree$outgoing$bg <- ifelse(tree$outgoing$level > 0, "gray", "black")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plot.R:108:64:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/plot.R#L108) *style:* **Commas should always have a space after.**
```r
                  vertices <- rbind(vertices, tree$outgoing[-1,])
                                                               ^
```
[R/report.R:30:8:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L30) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    for(i in seq_len(nrow(contacts))) {
       ^
```
[R/report.R:35:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L35) *style:* **Lines should not be more than 80 characters.**
```r
                   paste(rep("<td> </td>", 2L * (contacts$distance[i] - 1L)), collapse = ""),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:44:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L44) *style:* **Lines should not be more than 80 characters.**
```r
                             2L * (max(contacts$distance - 1L) - (contacts$distance[i] - 1L))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:62:77:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L62) *style:* **Commas should always have a space after.**
```r
    contacts <- contacts[order(contacts$t, contacts$id, decreasing = FALSE),]
                                                                            ^
```
[R/report.R:73:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
    as.character(unlist(by(contacts, sprintf("%s - %s", contacts$lhs, contacts$rhs), function(x) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:78:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L78) *style:* **Lines should not be more than 80 characters.**
```r
                   sprintf('<h3><a name="%s-%s-%s">%s %s %s</a></h3>', direction,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:81:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L81) *style:* **Lines should not be more than 80 characters.**
```r
                   "<tr><th>Date</th><th>Id</th><th>N</th><th>Category</th><th>Source</th><th>Destination</th></tr>")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:83:12:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L83) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        for(i in seq_len(nrow(x))) {
           ^
```
[R/report.R:104:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L104) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/report.R:113:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L113) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<h3 align='center'>Version: %s</h3>", packageVersion("EpiContactTrace")),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:118:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L118) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>In begin date:</td><td>%s</td></tr>", x@ingoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:119:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L119) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>In end date:</td><td>%s</td></tr>", x@ingoingContacts@tEnd),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:120:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L120) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>In days:</td><td>%i</td></tr>", x@ingoingContacts@tEnd - x@ingoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:121:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L121) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>In degree:</td><td>%i</td></tr>", InDegree(x@ingoingContacts)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:122:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L122) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Ingoing contact chain:</td><td>%i</td></tr>", IngoingContactChain(x@ingoingContacts)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:136:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L136) *style:* **Lines should not be more than 80 characters.**
```r
        lines <- c(lines, "<p>No ingoing contacts during the search period.</p>")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:144:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L144) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Out begin date:</td><td>%s</td></tr>", x@outgoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:145:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L145) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Out end date:</td><td>%s</td></tr>", x@outgoingContacts@tEnd),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:146:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L146) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Out days:</td><td>%i</td></tr>", x@outgoingContacts@tEnd - x@outgoingContacts@tBegin),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:147:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L147) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Out degree:</td><td>%i</td></tr>", OutDegree(x@outgoingContacts)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:148:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L148) *style:* **Lines should not be more than 80 characters.**
```r
               sprintf("<tr><td>Outgoing contact chain:</td><td>%i</td></tr>", OutgoingContactChain(x@outgoingContacts)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:162:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L162) *style:* **Lines should not be more than 80 characters.**
```r
        lines <- c(lines, "<p>No outgoing contacts during the search period.</p>")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:177:69:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L177) *style:* **Commas should always have a space after.**
```r
                   html_detailed_table(df[df$destination == df$root,], "in"))
                                                                    ^
```
[R/report.R:179:44:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L179) *style:* **Commas should always have a space after.**
```r
        df <- df[df$destination != df$root,]
                                           ^
```
[R/report.R:199:53:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L199) *style:* **Commas should always have a space after.**
```r
        html_detailed_table(df[df$source == df$root,], "out")
                                                    ^
```
[R/report.R:201:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L201) *style:* **Commas should always have a space after.**
```r
        df <- df[df$source != df$root,]
                                      ^
```
[R/report.R:238:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L238) *style:* **Lines should not be more than 80 characters.**
```r
##' available. To generate pdf files a TeX installation must exist to compile the
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:261:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L261) *style:* **Lines should not be more than 80 characters.**
```r
##' @param template the Sweave template file to use. If none is provided, the default
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:333:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L333) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/report.R:347:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L347) *style:* **Lines should not be more than 80 characters.**
```r
              writeLines(html_report(object), con = sprintf("%s.html", object@root))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:350:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L350) *style:* **Lines should not be more than 80 characters.**
```r
                  template <- system.file("Sweave/speak-latex.rnw", package = "EpiContactTrace")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:353:45:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L353) *style:* **Put spaces around all infix operators.**
```r
              utils::Sweave(template, syntax="SweaveSyntaxNoweb")
                                           ~^~
```
[R/report.R:354:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L354) *style:* **Lines should not be more than 80 characters.**
```r
              tools::texi2pdf(sub("rnw$", "tex", basename(template)), clean = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:355:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L355) *style:* **Lines should not be more than 80 characters.**
```r
              file.rename(sub("rnw$", "pdf", basename(template)), sprintf("%s.pdf", object@root))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/report.R:368:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L368) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/report.R:403:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/report.R#L403) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/shortest-paths.R:137:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L137) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/shortest-paths.R:139:44:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L139) *style:* **Commas should always have a space after.**
```r
          ns.in <- ns[ns$direction == "in",]
                                           ^
```
[R/shortest-paths.R:140:46:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L140) *style:* **Commas should always have a space after.**
```r
          ns.out <- ns[ns$direction == "out",]
                                             ^
```
[R/shortest-paths.R:144:66:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L144) *style:* **Commas should always have a space after.**
```r
              ns.in <- ns.in[order(ns.in$distance, ns.in$source),]
                                                                 ^
```
[R/shortest-paths.R:145:56:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L145) *style:* **Commas should always have a space after.**
```r
              ns.in <- ns.in[!duplicated(ns.in$source),]
                                                       ^
```
[R/shortest-paths.R:151:75:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L151) *style:* **Commas should always have a space after.**
```r
              ns.out <- ns.out[order(ns.out$distance, ns.out$destination),]
                                                                          ^
```
[R/shortest-paths.R:152:64:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L152) *style:* **Commas should always have a space after.**
```r
              ns.out <- ns.out[!duplicated(ns.out$destination),]
                                                               ^
```
[R/shortest-paths.R:169:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L169) *style:* **functions should have cyclomatic complexity of less than 15, this has 41.**
```r
setMethod("ShortestPaths",
^
```
[R/shortest-paths.R:179:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L179) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/shortest-paths.R:241:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L241) *style:* **Lines should not be more than 80 characters.**
```r
              if (!all(is.null(inBegin), is.null(inEnd), is.null(outBegin), is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:242:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L242) *style:* **Lines should not be more than 80 characters.**
```r
                  stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to ShortestPaths")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:256:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L256) *style:* **Lines should not be more than 80 characters.**
```r
              if (any(is.na(days) | (days < 0)) || max(abs(days - daysr)) > 1e-07) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:276:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L276) *style:* **Lines should not be more than 80 characters.**
```r
          } else if (all(!is.null(inBegin), !is.null(inEnd), !is.null(outBegin), !is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:281:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L281) *style:* **Lines should not be more than 80 characters.**
```r
                  stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to ShortestPaths")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:284:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L284) *style:* **Lines should not be more than 80 characters.**
```r
              stop("Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to ShortestPaths")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:367:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L367) *style:* **Lines should not be more than 80 characters.**
```r
              stop("root, inBegin, inEnd, outBegin and outEnd must have equal length")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/shortest-paths.R:413:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/shortest-paths.R#L413) *style:* **Lines should not be more than 80 characters.**
```r
                                         destination = x$destination[sp$outRowid],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:75:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L75) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (object)
                   ^
```
[R/show.R:76:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L76) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/show.R:88:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L88) *style:* **Lines should not be more than 80 characters.**
```r
              cat(sprintf("%sgoing contact chain: %i\n\n", prefix, OutgoingContactChain(object)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:91:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L91) *style:* **Lines should not be more than 80 characters.**
```r
              cat(sprintf("%sgoing contact chain: %i\n\n", prefix, IngoingContactChain(object)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:102:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L102) *style:* **Lines should not be more than 80 characters.**
```r
              ## Rename source and destination to lhs and rhs, with respect to direction
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:111:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L111) *style:* **Place a space before left parenthesis, except in a function call.**
```r
              for(i in seq_len(nrow(ns))) {
                 ^
```
[R/show.R:113:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L113) *style:* **Lines should not be more than 80 characters.**
```r
                              paste(rep(" ", (ns$distance[i] - 1) * (width + 5)), collapse=""),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:113:91:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L113) *style:* **Put spaces around all infix operators.**
```r
                              paste(rep(" ", (ns$distance[i] - 1) * (width + 5)), collapse=""),
                                                                                ~^~
```
[R/show.R:119:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L119) *style:* **Lines should not be more than 80 characters.**
```r
              cat(sprintf("No %sgoing contacts during the search period.\n", object@direction))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/show.R:128:20:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L128) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
          function (object)
                   ^
```
[R/show.R:129:7:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/show.R#L129) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/trace.R:29:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L29) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/trace.R:168:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L168) *style:* **functions should have cyclomatic complexity of less than 15, this has 56.**
```r
Trace <- function(movements,
^
```
[R/trace.R:177:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L177) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/trace.R:182:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L182) *style:* **Only use double-quotes.**
```r
        stop('Missing parameters in call to Trace')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:186:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L186) *style:* **Only use double-quotes.**
```r
        stop('movements must be a data.frame')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:189:16:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L189) *style:* **Only use double-quotes.**
```r
    if (!all(c('source', 'destination', 't') %in% names(movements))) {
               ^~~~~~~~
```
[R/trace.R:189:26:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L189) *style:* **Only use double-quotes.**
```r
    if (!all(c('source', 'destination', 't') %in% names(movements))) {
                         ^~~~~~~~~~~~~
```
[R/trace.R:189:41:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L189) *style:* **Only use double-quotes.**
```r
    if (!all(c('source', 'destination', 't') %in% names(movements))) {
                                        ^~~
```
[R/trace.R:190:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L190) *style:* **Only use double-quotes.**
```r
        stop('movements must contain the columns source, destination and t.')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:199:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L199) *style:* **Only use double-quotes.**
```r
        stop('invalid class of column source in movements')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:203:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L203) *style:* **Only use double-quotes.**
```r
        stop('source in movements contains NA')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:209:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L209) *style:* **Lines should not be more than 80 characters.**
```r
    if (any(is.factor(movements$destination), is.integer(movements$destination))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:212:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L212) *style:* **Only use double-quotes.**
```r
        stop('invalid class of column destination in movements')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:216:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L216) *style:* **Only use double-quotes.**
```r
        stop('destination in movements contains NA')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:225:40:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L225) *style:* **Only use double-quotes.**
```r
    if (!identical(class(movements$t), 'Date')) {
                                       ^~~~~~
```
[R/trace.R:226:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L226) *style:* **Only use double-quotes.**
```r
        stop('invalid class of column t in movements')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:230:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L230) *style:* **Only use double-quotes.**
```r
        stop('t in movements contains NA')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:233:9:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L233) *style:* **Only use double-quotes.**
```r
    if ('n' %in% names(movements)) {
        ^~~
```
[R/trace.R:237:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L237) *style:* **Only use double-quotes.**
```r
            stop('invalid class of column n in movements')
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:243:9:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L243) *style:* **Only use double-quotes.**
```r
    if ('id' %in% names(movements)) {
        ^~~~
```
[R/trace.R:247:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L247) *style:* **Only use double-quotes.**
```r
            stop('invalid class of column id in movements')
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:253:9:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L253) *style:* **Only use double-quotes.**
```r
    if ('category' %in% names(movements)) {
        ^~~~~~~~~~
```
[R/trace.R:254:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L254) *style:* **Lines should not be more than 80 characters.**
```r
        if (any(is.factor(movements$category), is.integer(movements$category))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:257:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L257) *style:* **Only use double-quotes.**
```r
            stop('invalid class of column category in movements')
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:264:40:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L264) *style:* **Only use double-quotes.**
```r
    if (!identical(names(movements), c('source',
                                       ^~~~~~~~
```
[R/trace.R:265:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L265) *style:* **Only use double-quotes.**
```r
                                      'destination',
                                      ^~~~~~~~~~~~~
```
[R/trace.R:266:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L266) *style:* **Only use double-quotes.**
```r
                                      't',
                                      ^~~
```
[R/trace.R:267:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L267) *style:* **Only use double-quotes.**
```r
                                      'id',
                                      ^~~~
```
[R/trace.R:268:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L268) *style:* **Only use double-quotes.**
```r
                                      'n',
                                      ^~~
```
[R/trace.R:269:39:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L269) *style:* **Only use double-quotes.**
```r
                                      'category'))) {
                                      ^~~~~~~~~~
```
[R/trace.R:270:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L270) *style:* **Only use double-quotes.**
```r
        movements <- movements[, c('source',
                                   ^~~~~~~~
```
[R/trace.R:271:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L271) *style:* **Only use double-quotes.**
```r
                                   'destination',
                                   ^~~~~~~~~~~~~
```
[R/trace.R:272:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L272) *style:* **Only use double-quotes.**
```r
                                   't',
                                   ^~~
```
[R/trace.R:273:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L273) *style:* **Only use double-quotes.**
```r
                                   'id',
                                   ^~~~
```
[R/trace.R:274:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L274) *style:* **Only use double-quotes.**
```r
                                   'n',
                                   ^~~
```
[R/trace.R:275:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L275) *style:* **Only use double-quotes.**
```r
                                   'category')]
                                   ^~~~~~~~~~
```
[R/trace.R:296:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L296) *style:* **Only use double-quotes.**
```r
        stop('invalid class of root')
             ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:300:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L300) *style:* **Only use double-quotes.**
```r
        stop('root contains NA')
             ^~~~~~~~~~~~~~~~~~
```
[R/trace.R:308:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L308) *style:* **Lines should not be more than 80 characters.**
```r
        if (!all(is.null(inBegin), is.null(inEnd), is.null(outBegin), is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:309:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L309) *style:* **Lines should not be more than 80 characters.**
```r
            stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:309:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L309) *style:* **Only use double-quotes.**
```r
            stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:316:37:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L316) *style:* **Only use double-quotes.**
```r
        if (!identical(class(tEnd), 'Date')) {
                                    ^~~~~~
```
[R/trace.R:320:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L320) *style:* **Lines should not be more than 80 characters.**
```r
        ## Test that days is a nonnegative integer the same way as binom.test test x
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:337:31:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L337) *style:* **Put spaces around all infix operators.**
```r
        root <- rep(root, each=n.tEnd*n.days, length.out=n)
                             ~^~
```
[R/trace.R:337:38:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L337) *style:* **Put spaces around all infix operators.**
```r
        root <- rep(root, each=n.tEnd*n.days, length.out=n)
                                    ~^~
```
[R/trace.R:337:57:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L337) *style:* **Put spaces around all infix operators.**
```r
        root <- rep(root, each=n.tEnd*n.days, length.out=n)
                                                       ~^~
```
[R/trace.R:338:32:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L338) *style:* **Put spaces around all infix operators.**
```r
        inEnd <- rep(tEnd, each=n.days, length.out=n)
                              ~^~
```
[R/trace.R:338:51:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L338) *style:* **Put spaces around all infix operators.**
```r
        inEnd <- rep(tEnd, each=n.days, length.out=n)
                                                 ~^~
```
[R/trace.R:339:42:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L339) *style:* **Put spaces around all infix operators.**
```r
        inBegin <- inEnd - rep(days, each=1, length.out=n)
                                        ~^~
```
[R/trace.R:339:56:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L339) *style:* **Put spaces around all infix operators.**
```r
        inBegin <- inEnd - rep(days, each=1, length.out=n)
                                                      ~^~
```
[R/trace.R:342:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L342) *style:* **Lines should not be more than 80 characters.**
```r
    } else if (all(!is.null(inBegin), !is.null(inEnd), !is.null(outBegin), !is.null(outEnd))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:347:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L347) *style:* **Lines should not be more than 80 characters.**
```r
            stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:347:18:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L347) *style:* **Only use double-quotes.**
```r
            stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:350:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L350) *style:* **Lines should not be more than 80 characters.**
```r
        stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:350:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L350) *style:* **Only use double-quotes.**
```r
        stop('Use either tEnd and days or inBegin, inEnd, outBegin and outEnd in call to Trace')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:360:36:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L360) *style:* **Only use double-quotes.**
```r
    if (!identical(class(inBegin), 'Date')) {
                                   ^~~~~~
```
[R/trace.R:365:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L365) *style:* **Only use double-quotes.**
```r
        stop('inBegin contains NA')
             ^~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:375:34:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L375) *style:* **Only use double-quotes.**
```r
    if (!identical(class(inEnd), 'Date')) {
                                 ^~~~~~
```
[R/trace.R:380:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L380) *style:* **Only use double-quotes.**
```r
        stop('inEnd contains NA')
             ^~~~~~~~~~~~~~~~~~~
```
[R/trace.R:390:37:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L390) *style:* **Only use double-quotes.**
```r
    if (!identical(class(outBegin), 'Date')) {
                                    ^~~~~~
```
[R/trace.R:395:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L395) *style:* **Only use double-quotes.**
```r
        stop('outBegin contains NA')
             ^~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:405:35:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L405) *style:* **Only use double-quotes.**
```r
    if (!identical(class(outEnd), 'Date')) {
                                  ^~~~~~
```
[R/trace.R:410:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L410) *style:* **Only use double-quotes.**
```r
        stop('outEnd contains NA')
             ^~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:417:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L417) *style:* **Only use double-quotes.**
```r
        stop('inEnd < inBegin')
             ^~~~~~~~~~~~~~~~~
```
[R/trace.R:421:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L421) *style:* **Only use double-quotes.**
```r
        stop('outEnd < outBegin')
             ^~~~~~~~~~~~~~~~~~~
```
[R/trace.R:433:14:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L433) *style:* **Only use double-quotes.**
```r
        stop('root, inBegin, inEnd, outBegin and outEnd must have equal length')
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:460:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L460) *style:* **Lines should not be more than 80 characters.**
```r
                            as.integer(factor(movements$source, levels=levels(nodes))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:460:71:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L460) *style:* **Put spaces around all infix operators.**
```r
                            as.integer(factor(movements$source, levels=levels(nodes))),
                                                                     ~^~
```
[R/trace.R:461:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L461) *style:* **Lines should not be more than 80 characters.**
```r
                            as.integer(factor(movements$destination, levels=levels(nodes))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:461:76:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L461) *style:* **Put spaces around all infix operators.**
```r
                            as.integer(factor(movements$destination, levels=levels(nodes))),
                                                                          ~^~
```
[R/trace.R:463:59:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L463) *style:* **Put spaces around all infix operators.**
```r
                            as.integer(factor(root, levels=levels(nodes))),
                                                         ~^~
```
[R/trace.R:473:16:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L473) *style:* **Put spaces around all infix operators.**
```r
        j <- (i-1) * 4
              ~^~
```
[R/trace.R:483:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L483) *style:* **Lines should not be more than 80 characters.**
```r
        ## Create an index to contacts, so that the result matrix can be reconstructed
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:485:12:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L485) *style:* **Commented code should be removed.**
```r
        ## contacts_all <- cbind(contacts[index,], distance)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:486:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L486) *style:* **Lines should not be more than 80 characters.**
```r
        index <- match(apply(contacts_all, 1, function(x) paste(x, collapse="\r")),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:486:76:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L486) *style:* **Put spaces around all infix operators.**
```r
        index <- match(apply(contacts_all, 1, function(x) paste(x, collapse="\r")),
                                                                          ~^~
```
[R/trace.R:487:72:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L487) *style:* **Put spaces around all infix operators.**
```r
                       apply(contacts, 1, function(x) paste(x, collapse="\r")))
                                                                      ~^~
```
[R/trace.R:489:32:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L489) *style:* **Only use double-quotes.**
```r
        ingoingContacts <- new('Contacts',
                               ^~~~~~~~~~
```
[R/trace.R:493:51:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L493) *style:* **Commas should always have a space after.**
```r
                               source = contacts[,1],
                                                  ^
```
[R/trace.R:494:56:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L494) *style:* **Commas should always have a space after.**
```r
                               destination = contacts[,2],
                                                       ^
```
[R/trace.R:495:46:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L495) *style:* **Commas should always have a space after.**
```r
                               t = contacts[,3],
                                             ^
```
[R/trace.R:496:47:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L496) *style:* **Commas should always have a space after.**
```r
                               id = contacts[,4],
                                              ^
```
[R/trace.R:497:46:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L497) *style:* **Commas should always have a space after.**
```r
                               n = contacts[,5],
                                             ^
```
[R/trace.R:498:53:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L498) *style:* **Commas should always have a space after.**
```r
                               category = contacts[,6],
                                                    ^
```
[R/trace.R:501:44:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L501) *style:* **Only use double-quotes.**
```r
                               direction = 'in')
                                           ^~~~
```
[R/trace.R:511:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L511) *style:* **Lines should not be more than 80 characters.**
```r
        ## Create an index to contacts, so that the result matrix can be reconstructed
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:513:12:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L513) *style:* **Commented code should be removed.**
```r
        ## contacts_all <- cbind(contacts[index,], distance)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:514:1:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L514) *style:* **Lines should not be more than 80 characters.**
```r
        index <- match(apply(contacts_all, 1, function(x) paste(x, collapse="\r")),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/trace.R:514:76:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L514) *style:* **Put spaces around all infix operators.**
```r
        index <- match(apply(contacts_all, 1, function(x) paste(x, collapse="\r")),
                                                                          ~^~
```
[R/trace.R:515:72:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L515) *style:* **Put spaces around all infix operators.**
```r
                       apply(contacts, 1, function(x) paste(x, collapse="\r")))
                                                                      ~^~
```
[R/trace.R:517:33:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L517) *style:* **Only use double-quotes.**
```r
        outgoingContacts <- new('Contacts',
                                ^~~~~~~~~~
```
[R/trace.R:521:52:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L521) *style:* **Commas should always have a space after.**
```r
                                source = contacts[,1],
                                                   ^
```
[R/trace.R:522:57:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L522) *style:* **Commas should always have a space after.**
```r
                                destination = contacts[,2],
                                                        ^
```
[R/trace.R:523:47:](https://github.com/stewid/EpiContactTrace/blob/b2a99e77e6337831da8fc9dc5a9944948fd0c7b5/R/trace.R#L523) *style:* **Commas should always have a space after.**
```r
                                t = contacts[,3],
                                              ^
```


Я не очень понимаю, зачем это здесь тут)


The purposes of this commit are:

1. Update the structure of deploy_settings.py. In this version of deploy_settings, we import all the parameters from settings.py and update those we needed for deployment. This is let the deploy_settings consistent with the settings for local development.

2. Add a new user in Dockerfile named uwsgi_user under `www-data` group and assigned this user the ownership of `user/src/app`. The reason for this update is that if we run uwsgi with root, there will be a warning: "WARNING: you are running uWSGI as root !!! (use the --uid flag)". **Not very sure about the necessity of this update. Need more discussions.**


Successfully deployed to following URLs:

* https://isrealease-betachat-25o7oxy82.now.sh
* https://alphabuild-betachat.now.sh
* https://isrealease-betachat.afazzdev.now.sh
* https://isrealease-betachat-git-master.afazzdev.now.sh


String representation of large numbers will be in scientific notation
![image](https://user-images.githubusercontent.com/9072299/68068026-f341ca00-fd8a-11e9-9cdd-f6dbe6283add.png)

Reverted to original


Congrats!


i think this is a great commit


Воспользовался, наконец добрался  до with-as ))


@ParikshithMohan @azureus89
please find my re-organized thoughts. am not thinking in metric terms here. metrics will be derived from this data. am thinking more around fundamental data points first to make sure we are on the same page: I have also updated the google doc incase this thread shows up any formatting errors and i have not used any tables.
https://docs.google.com/document/d/1vvFd0RAyLiDW3QRxj9RN7COdsHpMS4lPU_U24kfEuwU/edit?usp=sharing

Re-organized Data mapping sheet.

The Forge version of KTNE requires us to think of data in a way that allows us to understand which ones are priority.

This can be laid out in a way where we can isolate in a minimalist first view of

(X) = Data points required to make the game work - This is a fundamental set of data points that has a role in running the game.
(Y)  = Data points required to  score a game play
(Z) Data points required to learn from the game play at different levels

Each of the above can be classified in different versions of complexity. Level 0 to Level 3. We will attempt to draw these 3 levels in iterations. Below is a re-classification of the data points related in Level 0

As a first step lets  look at the first category [X], am listing my thoughts we can revise this and allocate levels 0-3 to further narrow down game play, we will go to [Y] as a next step.

X can be looked at in the following way
i. What data do we need to run a paper trial of any game
Ii. What data do we need to run a data generation trial of the game to understand game play and interaction related points

we will look at i. only in this iteration.

In the case of our KTNE, lets start with what data points we will need to get the high level pieces going, this relates to our design principles document

Configuration related data : This is basically the data that we will need to set up the paper trial round - imagin KTNE as a conceptial game, our first steps are to separate out the master data elements, think of this as everything that goes into defining a game round and not the actual game play itself. Every thing before the game starts.

Configuration of the modules - This is data that explains what a module is, what it is called, how much time is allocated to solving this module, and so on. Lets try to nail the data points related to module configuration here below
Module Name
Module Time allocation
Module Serial number for identification
Module Description ( this will be filled in the next steps when the modules are considered)
Module hints [ 1 - 4 ] ( these will also be finalized in the next steps, but i can imagine this will be shared with the players in the paper trial version
Module solution - think of this as the digital version of the manual applicable to the module
Configuration of the roles - In the paper trial version the admin is usually the game designer, he is the one who sits and observes every action
Role Name [ Admin,  Team Lead, Handler , Defuser ]
Role description
Technical authorization elements associated with the role
Configuration of the game play format : Think of this as how we play, whether we play offense first or defense first and so on, The game can be played with the same objective while teams can choose their formats. I am calling this format as strategy of each team. The strategies will have names and associated rules. The chosen strategy  will be applied during the game play for the team, in the existing KTNE game,
Strategy ID
Strategy Type
Strategy Description
Strategy specific flags
Configuration of the score
Points for module completion
Points for game completion
Bonus points for records held
Bonus points for leading in a round
Negative points for mistakes
Negative points for time outs
Negative points for hints
Configuration of the game play round : this will essentially capture the format of the game play round
Round Name
Team Name
Number of Modules
Strategies tagged
Time Limit of the round
Configuration of the players and teams - imagine this to be the step where teams are put together in person
Team Name
Players in team
Allocated roles for players
Player details preferences : This is when some one like Simone says i want to do x only and so on. This will be a separate data set captured at player level where they can
How many years  of experience in the Organization
How many total years of experience
Male / Female
Location / Dept/ Class
Email id
Phone number ( some hints will be sent to the phone)
Survey configuration : This is the place where we can set up a bunch of surveys
Name of the survey
List of questions tagged ( the questions will be provided in a library and a survey is essentially choosing 4 questions
Applicable for ( here the roles will be linked to the surveys)
Applicable time ( here the event will be tagged to the survey where the survey shows up, example values are end of round, end of game, on demand by team lead and so on)

Data points to be captured during game play

The base for data capture during game play can be generically thought of as action level audit data. Any action taken by any player will be recorded with the time stamp, player detail and a code. The code will capture the details about the action of the player. In order the detail out the data points related to the playing of the round, lets look at what each player does in more detail before we attempt to list out the codes associated to each action of each player

Team Lead: The team lead has the following set of actions

Setting up the team pairs - this can be automatic or manual, think of this as the team lead saying Simone and Sid are in the handler and diffuser pair within team 1
Choosing the strategies of the game - this is again a configuration level choice, think of this as filling in section e of the config file
Starting the game - this will essentially be the guy clicking on something and the game starts
Allocation - this is essentially allocating a module to a team
Passing a hint - This is the team lead choosing to share a tip with one of the sub team pairs
Pressing the time out button - this is the team lead  pressing a button to get a breather and the whole game pauses for x seconds, communications is left on
Communicating ( this is essentially the chat messages that he sends / recvs)
View the dashboard - this is a screen where he can track progress of where his team pairs as well as other competing teams , how many modules they have solved and how their utilization is.
Waiting : this is essentially when the team lead isn't doing any thing
Call for a survey - this is when the team lead wants to ask for consensus from the team

Handler: The handler players have the following set of actions
Viewing their allocated module ( via a single click)
Activating their allocated module ( activation starts the module level timer)
Asking the team lead for a hint
Communicating with the defusers written and visual
Updating the module ( clicking on specific points)
Communicating with the team lead
Communicate with the entire team
Request a time out

Defuser : The defusers can have the following set of actions
Pull up the manual of the module
Communicate with the handler written and visual
Communicate with the team leader
Communicate with the entire team
Communicate with other defusers in his team
Request a time out


Commit code @ version 1.1.0


Deployment failed with the following error:

~~~
Your `package.json` file is missing a `build` property inside the `script` property.
~~~


Принято


Successfully deployed to following URLs:

* https://blogapi2ucn-glefwx1fr.now.sh
* https://ap.api2u.cn
* https://blogapi2ucn.youngje.now.sh
* https://blogapi2ucn-git-master.youngje.now.sh


`T: Sync`


# Giving Title

I just thought I should give my site a title


Successfully deployed to following URLs:

* https://the-pragmatic-frontend-tester-g4fokcuc4.now.sh
* https://frontend-testing.now.sh
* https://the-pragmatic-frontend-tester.afontcu.now.sh
* https://the-pragmatic-frontend-tester-git-master.afontcu.now.sh