Bearloga has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/364000 )
Change subject: Add lint checking & update doc formatting
......................................................................
Add lint checking & update doc formatting
This is mostly just to test CI.
Bug: T153856
Change-Id: I605a2a1e221850752517cccb9db1ed3c90fcb31a
---
A .lintr
M DESCRIPTION
M R/dwell.R
M R/ortiz.R
M man/dwell_time.Rd
M tests/testthat.R
A tests/testthat/test-syntax.R
7 files changed, 60 insertions(+), 28 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/ortiz
refs/changes/00/364000/1
diff --git a/.lintr b/.lintr
new file mode 100644
index 0000000..30b9cf8
--- /dev/null
+++ b/.lintr
@@ -0,0 +1,5 @@
+linters: with_defaults(line_length_linter(120), object_usage_linter = NULL,
closed_curly_linter = NULL, open_curly_linter = NULL)
+exclusions: list("R/RcppExports.R")
+exclude: "# Exclude Linting"
+exclude_start: "# Begin Exclude Linting"
+exclude_end: "# End Exclude Linting"
diff --git a/DESCRIPTION b/DESCRIPTION
index 4168ee5..8ccc758 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,8 +1,10 @@
Package: ortiz
Title: Speedy User Satisfaction Computations
-Version: 0.0.3
-Author: Oliver Keyes
-Maintainer: Mikhail Popov <[email protected]>
+Version: 0.0.4
+Authors@R: c(
+ person("Mikhail", "Popov", email = "[email protected]", role =
c("aut", "cre")),
+ person("Oliver", "Keyes", role = "aut", comment = "No longer employed at
the Foundation")
+ )
Description: Speedily computes various user satisfaction-related metrics for
Search.
License: MIT + file LICENSE
@@ -11,6 +13,9 @@
projects=Discovery
LinkingTo: Rcpp
Imports: Rcpp
-Suggests: testthat
+Suggests:
+ lintr,
+ testthat
LazyData: true
+Roxygen: list(markdown = TRUE)
RoxygenNote: 6.0.1
diff --git a/R/dwell.R b/R/dwell.R
index 3b5e705..d3361ef 100644
--- a/R/dwell.R
+++ b/R/dwell.R
@@ -1,21 +1,28 @@
-#'@title Identify User Satisfaction Rate Based on Dwell Time
+#' @title Identify User Satisfaction Rate Based on Dwell Time
+#' @description One simple satisfaction heuristic is to look at the dwell time
+#' a user has on each page in a session and whether any one of those
+#' dwell-times exceeds a certain threshold. If it does, that session is deemed
+#' to be one in which the user was satisfied. `dwell_time` calculates
+#' that for a data.frame of user sessions.
+#' @param data a `data.frame` containing session data
+#' @param id_col the name or index of the column containing unique session IDs
+#' @param ts_col the name or index of the column containing timestamps
+#' @param dwell_threshold the value (in seconds) to use to indicate a
+#' "successful" session
+#' @examples
+#' # Data:
+#' ts <- as.POSIXct(
+#' c("2016-03-01T06:52:49Z", "2016-03-01T06:53:19Z", "2016-03-01T06:53:39Z"),
+#' format = "%Y-%m-%dT%H:%M:%SZ", tz = "UTC"
+#' )
+#' x <- data.frame(timestamp = ts, session_id = "0024c4506bf92e1c")
#'
-#'@description One simple satisfaction heuristic is to look at the dwell time
-#'a user has on each page in a session and whether any one of those
-#'dwell-times exceeds a certain threshold. If it does, that session is deemed
-#'to be one in which the user was satisfied. \code{dwell_time} calculates
-#'that for a data.frame of user sessions.
+#' # Use default threshold:
+#' dwell_time(x, "session_id", "timestamp")
#'
-#'@param data a data.frame containing session data
-#'
-#'@param id_col the name or index of the column containing unique session IDs
-#'
-#'@param ts_col the name or index of the column containing timestamps
-#'
-#'@param dwell_threshold the value (in seconds) to use to indicate a
"successful"
-#'session.
-#'
-#'@export
+#' # Use 10s threshold:
+#' dwell_time(x, "session_id", "timestamp", 10)
+#' @export
dwell_time <- function(data, id_col, ts_col, dwell_threshold = 100) {
# Check type. We need timestamps to end up as numeric seconds
representations,
diff --git a/R/ortiz.R b/R/ortiz.R
index 38696be..541ed55 100644
--- a/R/ortiz.R
+++ b/R/ortiz.R
@@ -1,8 +1,5 @@
-
#' @title Speedy User Satisfaction Computations
-#'
#' @description Speedily computes various user satisfaction-related metrics
for Search.
-#'
#' @docType package
#' @name ortiz
#' @useDynLib ortiz
diff --git a/man/dwell_time.Rd b/man/dwell_time.Rd
index 989f413..a1f5ae3 100644
--- a/man/dwell_time.Rd
+++ b/man/dwell_time.Rd
@@ -7,14 +7,14 @@
dwell_time(data, id_col, ts_col, dwell_threshold = 100)
}
\arguments{
-\item{data}{a data.frame containing session data}
+\item{data}{a \code{data.frame} containing session data}
\item{id_col}{the name or index of the column containing unique session IDs}
\item{ts_col}{the name or index of the column containing timestamps}
-\item{dwell_threshold}{the value (in seconds) to use to indicate a "successful"
-session.}
+\item{dwell_threshold}{the value (in seconds) to use to indicate a
+"successful" session}
}
\description{
One simple satisfaction heuristic is to look at the dwell time
@@ -23,3 +23,17 @@
to be one in which the user was satisfied. \code{dwell_time} calculates
that for a data.frame of user sessions.
}
+\examples{
+# Data:
+ts <- as.POSIXct(
+ c("2016-03-01T06:52:49Z", "2016-03-01T06:53:19Z", "2016-03-01T06:53:39Z"),
+ format = "\%Y-\%m-\%dT\%H:\%M:\%SZ", tz = "UTC"
+)
+x <- data.frame(timestamp = ts, session_id = "0024c4506bf92e1c")
+
+# Use default threshold:
+dwell_time(x, "session_id", "timestamp")
+
+# Use 10s threshold:
+dwell_time(x, "session_id", "timestamp", 10)
+}
diff --git a/tests/testthat.R b/tests/testthat.R
index f299b9e..b1db86a 100644
--- a/tests/testthat.R
+++ b/tests/testthat.R
@@ -1,5 +1,3 @@
-Sys.unsetenv("R_TESTS")
-
library(testthat)
library(ortiz)
diff --git a/tests/testthat/test-syntax.R b/tests/testthat/test-syntax.R
new file mode 100644
index 0000000..f5c29db
--- /dev/null
+++ b/tests/testthat/test-syntax.R
@@ -0,0 +1,6 @@
+if (requireNamespace("lintr", quietly = TRUE)) {
+ context("lints")
+ test_that("Package Style", {
+ lintr::expect_lint_free()
+ })
+}
--
To view, visit https://gerrit.wikimedia.org/r/364000
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I605a2a1e221850752517cccb9db1ed3c90fcb31a
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/ortiz
Gerrit-Branch: master
Gerrit-Owner: Bearloga <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits