-
Notifications
You must be signed in to change notification settings - Fork 0
/
delete_plabels.R
64 lines (59 loc) · 2.06 KB
/
delete_plabels.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#' Delete participant labels in all apps
#' @description
#' If you work with MTurk, the MTurk IDs will be stored in the
#' participant labels variable.
#' This function deletes this variable in \code{$all_apps_wide}
#' and every app data frame in the list of data frames that was created
#' by \code{\link{import_otree}} and/or all
#' variables referring to MTurk, such as \code{participant.mturk_worker_id}.
#'
#' Caution: This function does not delete the variables from the original
#' CSV and Excel files!
#' @param oTree A list of data frames that were created
#' by \code{\link{import_otree}}.
#' @param del_plabel Logical. \code{TRUE} if all participant labels
#' should be deleted.
#' @param del_mturk Logical. \code{TRUE} if all MTurk variables
#' should be deleted.
#' @returns This function returns a duplicate of the original oTree list of
#' data frames that do not include the participant labels and/or the MTurk
#' variables.
#' @examples
#' # Use package-internal list of oTree data frames
#' oTree <- gmoTree::oTree
#'
#'# Show participant labels
#' oTree$all_apps_wide$participant.label
#' oTree$survey$participant.label
#'
#' # Delete all participant labels
#' oTree2 <- delete_plabels(oTree)
#'
#' # Show participant labels again
#' oTree2$all_apps_wide$participant.label
#' oTree2$survey$participant.label
#' @export
delete_plabels <- function(oTree,
del_plabel = TRUE,
del_mturk = TRUE) {
# Create list of apps ####
appnames <- names(oTree)
appnames <- appnames[appnames != "info"]
# Delete variable ####
if (del_plabel) {
for (app in appnames) {
oTree[[app]][["participant.label"]] <- NULL
}
}
if (del_mturk) {
for (app in appnames) {
oTree[[app]][["participant.mturk_worker_id"]] <- NULL
oTree[[app]][["participant.mturk_assignment_id"]] <- NULL
oTree[[app]][["mturk_HITGroupId"]] <- NULL
oTree[[app]][["mturk_HITId"]] <- NULL
oTree[[app]][["session.mturk_HITId"]] <- NULL
oTree[[app]][["session.mturk_HITGroupId"]] <- NULL
}
}
return(oTree)
}