Skip to content

Commit e42b75f

Browse files
committed
fix 'empty_user_mat' fn
1 parent 2eb3cab commit e42b75f

File tree

3 files changed

+32
-9
lines changed

3 files changed

+32
-9
lines changed

DESCRIPTION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: repometrics
22
Title: Metrics for Your Code Repository
3-
Version: 0.1.3.023
3+
Version: 0.1.3.024
44
Authors@R:
55
person("Mark", "Padgham", , "mark.padgham@email.com", role = c("aut", "cre"),
66
comment = c(ORCID = "0000-0003-2172-5265"))

R/analyse-users.R

+30-7
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,22 @@
55
#' @noRd
66
user_relation_matrices <- function (user_data) {
77

8-
user_data <- add_user_login_cols (user_data)
8+
user_names <- names (user_data)
9+
user_data <- add_user_login_cols (user_data) |>
10+
combine_user_data ()
911

10-
dat <- empty_user_mat (user_data, n = 4L)
12+
dat <- empty_user_mat (user_data, user_names)
1113

1214

1315
}
1416

15-
empty_user_mat <- function (user_data, n = 4L) {
17+
empty_user_mat <- function (user_data, user_names) {
1618

17-
n_users <- length (user_data)
18-
m <- array (NA_real_, dim = c (n_users, n_users, n))
19-
rownames (m) <- colnames (m) <- names (user_data)
19+
n_users <- length (user_names)
20+
n_fields <- length (user_data)
21+
m <- array (NA_real_, dim = c (n_users, n_users, n_fields))
22+
rownames (m) <- colnames (m) <- user_names
23+
attr (m, "dimnames") [[3]] <- names (user_data)
2024

2125
return (m)
2226
}
@@ -31,7 +35,7 @@ add_user_login_cols <- function (user_data) {
3135
res_u <- lapply (seq_along (user_data [[u]]), function (i) {
3236
ud <- user_data [[u]] [[i]]
3337
if (is.data.frame (ud) && nrow (ud) > 0L) {
34-
ud$login <- names (user_data) [u]
38+
ud$login <- names (user_data) [u]
3539
} else if (is.character (ud)) {
3640
ud <- data.frame (ud, login = names (user_data) [u])
3741
names (ud) [1] <- names (user_data [[u]]) [i]
@@ -47,6 +51,25 @@ add_user_login_cols <- function (user_data) {
4751
return (res)
4852
}
4953

54+
#' Combine all individual elements of 'user_data' for all users.
55+
#'
56+
#' The `add_user_login_cols` enables all data to be `rbind`-ed here.
57+
#' @noRd
58+
combine_user_data <- function (user_data) {
59+
60+
data <- lapply (names (user_data [[1]]), function (n) {
61+
these <- lapply (user_data, function (i) i [[n]])
62+
res <- do.call (rbind, these)
63+
rownames (res) <- NULL
64+
return (res)
65+
})
66+
67+
names (data) <- names (user_data [[1]])
68+
data$general <- NULL
69+
70+
return (data)
71+
}
72+
5073
user_relate_commits <- function (user_data) {
5174

5275
commits <- lapply (seq_along (user_data), function (u) {

codemeta.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"codeRepository": "https://github.com/ropensci-review-tools/repometrics",
99
"issueTracker": "https://github.com/ropensci-review-tools/repometrics/issues",
1010
"license": "https://spdx.org/licenses/GPL-3.0",
11-
"version": "0.1.3.023",
11+
"version": "0.1.3.024",
1212
"programmingLanguage": {
1313
"@type": "ComputerLanguage",
1414
"name": "R",

0 commit comments

Comments
 (0)