Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 3.5 #168

Merged
merged 173 commits into from
Jun 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
f4fb480
Change shape of 'Vertices' in the legend of plots
bockthom Oct 25, 2018
0841a56
Update changelog
bockthom Oct 25, 2018
5be99a2
Update exemplary multi network in README.md
bockthom Oct 26, 2018
64663cd
Merge pull request #145 from bockthom/thomas-updates
clhunsen Oct 26, 2018
c64cab8
Fix error when resetting an ProjectData environment
clhunsen Nov 5, 2018
3064a49
Update changelog
clhunsen Nov 5, 2018
1da649f
Merge pull request #146 from clhunsen/claus-updates
bockthom Nov 5, 2018
64a9486
Remove get.commits.raw function from util-data.R
Nov 29, 2018
894c9a5
Move artifact kind filtering functionality into the get.commits method
Dec 2, 2018
e74e15d
Adjust read.commits to return a valid data.frame instead of an empty one
Dec 4, 2018
11428d9
Restructure get.commits and get.commits.filtered(.empty) methods
Dec 6, 2018
c26e582
Delete set.commits.raw and read.commits.raw methods.
Dec 6, 2018
51617bb
Adjust two testcases to work with the new get.commits method
Dec 6, 2018
67a4fbe
Adapt test cases to new changes and improve empty dataframe creation
Dec 7, 2018
c60c2f6
Change edge generation behaviour for base and untracked files artifact
Dec 8, 2018
fada26d
Adjust copyright headers of modified files
Dec 10, 2018
43f185d
Update changelog
Dec 10, 2018
5ea65b9
Add global constant 'UNTRACKED.FILE' and adjust documentation
Dec 15, 2018
ec8c6dd
Update default behavior of 'Conf' objects
clhunsen Dec 14, 2018
0d7c222
Fix nodes for networks without edges
bockthom Dec 16, 2018
6580427
Improve edge creation concerning untracked files and the base artifact
Dec 16, 2018
dde0dd7
Leave artifact column empty if artifact == file or artifact == funtion
Dec 17, 2018
d11d0fb
Add 'UNTRACKED.FILE constant' back into the constant 'BASE.ARTIFACTS'
Dec 17, 2018
32a7162
Alter inline comments with wrong information
Dec 17, 2018
466d8eb
Change names of network and project configuration options
Dec 18, 2018
7e27a18
Further improve construction of edgeless networks
clhunsen Dec 17, 2018
dc8873e
Update changelog.
Dec 18, 2018
137d833
Fix setting authors in co-change-based author networks
clhunsen Dec 18, 2018
e709786
Update README
Dec 19, 2018
a5802b0
Update documentation and showcase.R
Dec 20, 2018
67dcf31
Rename variable 'list' to 'author.groups' and adjust documentation
Dec 20, 2018
5f0f529
Add additional utility functions for easier empty dataframe creation
Dec 20, 2018
6043e5c
Change null checking behaviour of two methods
Dec 20, 2018
418d1dc
Update README
Jan 7, 2019
523daef
Move empty dataframe creation utility functions into util-read.R
Jan 7, 2019
f8281c7
Adjust comments for the column names of commonly used dataframes
Jan 9, 2019
01217a8
Update changelog
Jan 9, 2019
ae58902
Adjust copyright headers
Jan 14, 2019
2488039
Merge pull request #149 from SCPhantom/jakob-updates
clhunsen Jan 15, 2019
77c750c
Adjust 'read.issues' to the new issue-data format
Nov 8, 2018
39971ee
Update test-read for issue data
Nov 10, 2018
e94dbc6
Add copyright header
Nov 12, 2018
e04ce30
Remove old 'read.issues' version
Nov 12, 2018
258ec64
Change codestyle
Nov 12, 2018
67b818a
Apply review on 'util-read' and 'test-read'
Dec 12, 2018
0ec6c6c
Adjust network tests to new issue data
Dec 12, 2018
6a9f4ad
Change time period in issues.list
Jan 21, 2019
fda000f
Adjust split tests to new issue data
Jan 21, 2019
4020487
Correct parsing of lists
Feb 4, 2019
212cfdd
Update test issue data in 'test_proximity'
Feb 4, 2019
7e53907
Reformat Code and Update copyright headers
Feb 26, 2019
8e77b10
Update 'NEWS.md' and README.md'
Mar 1, 2019
e50a0c6
Merge pull request #147 from fehnkera/new-format-adjustion
clhunsen Mar 4, 2019
c6dca27
Add a note on mailing-list threads to README
clhunsen Nov 26, 2018
b84acdc
Update changelog
clhunsen Jan 15, 2019
5974018
Fix hierarchy calculations and classifications
clhunsen Dec 18, 2018
a4e7a21
Refactor 'ProjectData$get.cached.data.sources' to be more concise
clhunsen Dec 20, 2018
c93c4fd
Rework 'tests.R' and fix logger initalization for tests
clhunsen Jan 10, 2019
2284bbe
Add constant 'UNTRACKED.FILE.EMPTY.ARTIFACT.TYPE'
clhunsen Jan 9, 2019
d9f527c
Add commits on untracked files to test suite
clhunsen Jan 10, 2019
641624b
Update README regarding mandatory edge attributes
clhunsen Jan 15, 2019
0666f1f
Fix merging of networks without vertices
clhunsen Jan 15, 2019
a4b3524
Add tests for construction of networks without data
clhunsen Jan 15, 2019
cae9d4b
Add mandatory attributes in 'create.empty.network'
clhunsen Jan 15, 2019
4eba7f6
Remove the empty artifact from all types of networks
clhunsen Jan 16, 2019
0713995
Update copyright headers
clhunsen Jan 16, 2019
cc8bd86
Add mandatory attributes in 'create.empty.network' *if wanted*
clhunsen Jan 16, 2019
c00101d
Add function 'create.empty.vertex.list'
clhunsen Jan 16, 2019
01f31d6
Fix handling of empty vertex list in 'construct.network.from.edge.list'
clhunsen Jan 16, 2019
6eb214c
Add tests for construction of networks without vertices
clhunsen Jan 16, 2019
fb40c50
Add cutting functionality to README descriptions
clhunsen Jan 25, 2019
f8e021d
Fix reading of mail data
clhunsen Jan 31, 2019
3513647
Fix reading of issue data
clhunsen Jan 31, 2019
cd3e34a
Heavily improve addition of PaStA data
clhunsen Jan 31, 2019
3e403e4
Fix extraction functions regarding handling of empty networks
clhunsen Feb 7, 2019
0526755
Always add mandatory vertex and edge attributes
clhunsen Feb 8, 2019
5f6cc69
Fix missing time-zone attribute 'tzone' on POSIXct items
clhunsen Feb 11, 2019
fbc2d54
Update contribution guide regarding roxygen2 conventions
bockthom Feb 11, 2019
82fd86c
Update changelog
clhunsen Feb 19, 2019
3fe585e
Apply minor improvements from review for PR #158
clhunsen Mar 8, 2019
e86d501
Apply minor improvements from review for PR #158
clhunsen Mar 26, 2019
3686bee
Merge pull request #158 from clhunsen/claus-updates
clhunsen Mar 26, 2019
9294a37
Fix incorrect author classification in util-core-peripheral.R
Jan 16, 2019
c7288c3
Fix tests for 'add.vertex.attribute.author.role.simple'
clhunsen Feb 8, 2019
9437b4f
Fix wrong behaviour of 'get.author.class' when using 'result.limit'
Feb 25, 2019
587ef99
Change 'get.author.class.by.type' and 'get.author.class.overview'
Jan 21, 2019
b0966dc
Move network hierarchy classification function
Jan 21, 2019
2534d73
Remove 'get.commit.count.threshold' and 'get.loc.count.threshold'
Jan 21, 2019
81568b1
Rename misleading parameter names in the file 'util-core-peripheral.R'
Jan 21, 2019
557bdcd
Adjust function 'verify.argument.for.parameter' to be more general
Jan 28, 2019
1f9afd6
Remove redundant parameter checking
Jan 23, 2019
2492dd0
Add parameter 'restrict.classification.to.authors' and clean up code
Jan 23, 2019
872b45b
Remove redundant sort statements
Feb 4, 2019
27d3085
Update copyright headers
Feb 7, 2019
d5aac89
Remove over-precise parameter checking
Feb 24, 2019
2627d6c
Add 'test-core-peripheral.R' along with some test cases
Feb 25, 2019
b3fd8b5
Add roxygen documentation to 'get.author.class' and 'get.threshold'
Mar 4, 2019
dce514a
Update changelog
Feb 4, 2019
35698a1
Do not redundantly initialize data sources when splitting
clhunsen Mar 29, 2019
2f4e6f0
Fix reading of synchronicity data
clhunsen Mar 29, 2019
79bf3ca
Read PaStA and synchronicity data only if enabled
clhunsen Mar 29, 2019
43f7ac9
Update changelog
Apr 1, 2019
b6b3021
Remove conflict markers that got missed during rebase
clhunsen Apr 2, 2019
6669b5e
Fix failing tests
clhunsen Apr 2, 2019
094be6a
Apply minor improvements from review from PR #156
Apr 5, 2019
d35ce61
Add and enforce coding convention to use 'vertices' and not 'nodes'
bockthom Apr 6, 2019
d5c8b6a
Update changelog
Apr 8, 2019
2c742d7
Merge pull request #156 from SCPhantom/jakob-updates
clhunsen Apr 9, 2019
4e03540
Fix bulk module
bockthom Apr 11, 2019
b3e2947
Adjust range directories' names
bockthom Apr 11, 2019
8142c97
Add missing default values in documentation
bockthom Apr 11, 2019
f6b28fb
Rename range directories in sample data and test data
bockthom Apr 11, 2019
9138c5b
Update changelog
bockthom Apr 12, 2019
6d834e5
Fix minor issues from review in PR #162
bockthom Apr 12, 2019
c205e4f
Merge pull request #162 from bockthom/thomas-updates
clhunsen Apr 12, 2019
61b344a
Remove 'get.author.class.activity' and 'get.author.class.activity.ove…
Apr 17, 2019
4fc6b45
Replace 'get.commits' call within function 'get.commit.data'
Apr 17, 2019
7fc454e
Remove all function calls to 'get.commit.data'
Apr 17, 2019
c4cf8d2
Remove function 'get.commit.data' from 'util-data.R'
Apr 17, 2019
a6de351
Update changelog
Apr 17, 2019
05dda9d
Merge pull request #163 from SCPhantom/jakob-updates
clhunsen Apr 17, 2019
d677949
Add source filter to issue read method
Mar 7, 2019
65b1acd
Adjust tests to issue source filter
Mar 7, 2019
59b1c55
Update 'NEWS.md'
Mar 7, 2019
a3e7132
Replace for-loop with lapply statement
Apr 29, 2019
2d897cb
Merge issue read tests
Apr 24, 2019
ea26181
Format and simplify code
May 8, 2019
e4aff91
Update 'README.md'
May 8, 2019
7f81570
Change JSON parse method. Addition to PR #147
May 8, 2019
238955f
Update issue data in proximity folder
May 8, 2019
a53cc54
Update hashes in 'NEWS.md'
May 13, 2019
5458db6
Merge pull request #159 from fehnkera/add_issue_source_conf
bockthom May 13, 2019
aba8af9
Add possibility of multiple activity types to active ranges
Sep 20, 2018
1327161
Refactor function list.by.inner.level and add docu
Oct 30, 2018
ef2fd39
Move functionality to get.active.ranges.data (part of refactoring)
Oct 30, 2018
f8deaae
Comment and refactor add.vertex.attribute.active.ranges
Oct 30, 2018
c754f8a
Remove names of range list in add.vertex.attribute.active.ranges
Jan 18, 2019
162a360
Adapt test for vertex attribute active.ranges to multiple data sources
Jan 18, 2019
2708912
Use given default.value in get.first.activity.data
Jan 25, 2019
18a065c
Introduce general default value for first activity
Jan 25, 2019
8f35a6b
Introduce general default value for active ranges
Jan 25, 2019
edf864a
Use given default as default per type in activity vertex attributes
Feb 4, 2019
04e6a6c
Add test for default values added by add.active.ranges
Mar 20, 2019
1bb81e8
Introduce possibility of combining types in active ranges
Mar 20, 2019
9ade45a
Add test for computation over all types in active ranges
Mar 20, 2019
94b5e62
Refactor add.vertex.attribute.active.ranges
Mar 20, 2019
e89a759
Update changelog
Mar 20, 2019
cd22b47
Update copyright headers
Mar 20, 2019
b666ba2
Apply Thomas Review
May 9, 2019
2c33c3d
Apply Claus Review
May 9, 2019
910f65f
Align parameter naming in first activity and active ranges
May 9, 2019
eb4bd4c
Rename to transpose.nested.list.by.innermost.values
May 27, 2019
70299f8
Apply Claus second review
May 27, 2019
2beaa40
Adapt commit hashes in changelog after rebasing
May 27, 2019
39b3651
Merge pull request #160 from klaraschlueter/klara-updates
bockthom May 28, 2019
929f8ce
Rename project to 'coronet'
clhunsen Apr 10, 2019
783ee58
Improve R documentation conventions
clhunsen Apr 10, 2019
6e33d0a
Add class documentation
clhunsen Apr 10, 2019
15ce3c6
Re-order functions and definitions in 'util-read.R'
clhunsen Apr 15, 2019
d93b906
Fix crash of function 'get.author.class' when classifying zero authors
May 10, 2019
8060caa
Add further test for 'get.author.class'
clhunsen May 10, 2019
74845d4
Add vertex attribute also to empty networks
clhunsen May 20, 2019
70e4de5
Add additional check for empty data to 'get.author.class'
clhunsen May 20, 2019
923e4d5
Update copyright headers
clhunsen May 28, 2019
c2ecb2c
Update changelog
clhunsen Apr 10, 2019
250f9e0
Fix minor issues from review in PR #166
clhunsen May 29, 2019
ac1ce80
Add explanation on library name to README.md
clhunsen May 29, 2019
19ee83c
Update changelog
clhunsen May 29, 2019
7e14492
Add special case handling for the classification of networks without …
Jun 6, 2019
c57f8ac
Update changelog
clhunsen Jun 6, 2019
20bbdf7
Merge pull request #166 from clhunsen/claus-updates
bockthom Jun 6, 2019
55e0a49
Rename RStudio project file
clhunsen Jun 7, 2019
0e8f458
Version v3.5
clhunsen Jun 7, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/enhancement.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ about: Suggest an enhancement to the existing functionality
---

<!--
Thanks for contributing to codeface-extraction-r!
Thanks for contributing to coronet!
-->
### Description

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ about: Create an issue report
---

<!--
Thanks for contributing to codeface-extraction-r!
Thanks for contributing to coronet!
-->
### Description

Expand Down
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<!--
Thanks for contributing to codeface-extraction-r!
Thanks for contributing to coronet!
-->
### Prerequisites

<!-- Put an X between the brackets in any line below if you have done the task. -->
- [ ] I adhere to the coding conventions (described [here](https://github.com/se-passau/codeface-extraction-r/blob/master/CONTRIBUTING.md)) in my code.
- [ ] I adhere to the coding conventions (described [here](https://github.com/se-passau/coronet/blob/master/CONTRIBUTING.md)) in my code.
- [ ] I have updated the copyright headers of the files I have modified.
- [ ] I have written appropriate commit messages, i.e., I have recorded the goal, the need, the needed changes, and the location of my code modifications for each commit. This includes also, e.g., referencing to relevant issues.
- [ ] I have put signed-off tags in *all* commits.
- [ ] I have updated the changelog file [NEWS.md](https://github.com/se-passau/codeface-extraction-r/blob/master/NEWS.md) appropriately.
- [ ] I have updated the changelog file [NEWS.md](https://github.com/se-passau/coronet/blob/master/NEWS.md) appropriately.
- [ ] The pull request is opened against the branch `dev`.

### Description
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## This file is part of codeface-extraction-r, which is free software: you
## This file is part of coronet, which is free software: you
## can redistribute it and/or modify it under the terms of the GNU General
## Public License as published by the Free Software Foundation, version 2.
##
Expand Down
61 changes: 53 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to the network library
# Contributing to the network library `coronet`

The following is a set of guidelines for contributing to the Network Library, which are hosted in the [se-passau](https://github.com/se-passau) organization on GitHub.
The following is a set of guidelines for contributing to the network library `coronet`, which is hosted in the [se-passau](https://github.com/se-passau) organization on GitHub.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

#### Table Of Contents
Expand Down Expand Up @@ -39,7 +39,7 @@ Before creating bug reports, please check [this list](#before-submitting-a-bug-r
#### Before Submitting A Bug Report

* **Check the code.**
You might be able to find the cause of the problem and fix things yourself. Most importantly, check if you can reproduce the problem in the latest version of the library (see [branch `dev`](https://github.com/se-passau/codeface-extraction-r/tree/dev)).
You might be able to find the cause of the problem and fix things yourself. Most importantly, check if you can reproduce the problem in the latest version of the library (see [branch `dev`](https://github.com/se-passau/coronet/tree/dev)).
* **Search for previous issues describing the same problem.**
If an old issue includes also a fix or a workaround for your problem, you do not need to file a new issue. Although, if the problem still persists after applying potential fixes, please file a new issue including detailed information to reproduce the problem. If there is an old issue that is still open, add a comment to the existing issue instead of opening a new one.
* **Run the test suite.**
Expand Down Expand Up @@ -85,7 +85,7 @@ Before creating enhancement suggestions, please check [this list](#before-submit

#### How Do I Submit A (Good) Enhancement Suggestion?

Enhancements are tracked as GitHub issues, but slightly different information is needed for them.
Enhancements are tracked as GitHub issues, but slightly different information is needed for them.

Create an issue and provide the needed information:

Expand All @@ -112,8 +112,8 @@ In our development process, we pursue the following idea:
- The current development will be performed on the branch `dev`, i.e., all incoming pull requests are against this branch.

The current build status is as follows:
- `master`: [![Build Status](https://travis-ci.com/se-passau/codeface-extraction-r.svg?token=8VFPdy2kjPXtstT72yww&branch=master)](https://travis-ci.com/se-passau/codeface-extraction-r)
- `dev`: [![Build Status](https://travis-ci.com/se-passau/codeface-extraction-r.svg?token=8VFPdy2kjPXtstT72yww&branch=dev)](https://travis-ci.com/se-passau/codeface-extraction-r)
- `master`: [![Build Status](https://travis-ci.com/se-passau/coronet.svg?token=8VFPdy2kjPXtstT72yww&branch=master)](https://travis-ci.com/se-passau/coronet)
- `dev`: [![Build Status](https://travis-ci.com/se-passau/coronet.svg?token=8VFPdy2kjPXtstT72yww&branch=dev)](https://travis-ci.com/se-passau/coronet)


### Pull Requests
Expand Down Expand Up @@ -173,16 +173,61 @@ There will be another checklist for you when you open an actual pull request pro
* **assignments**: only with `=`,
* **spacing**: spaces around all binary operators (`=`, `+`, `-`, etc.); spaces before left parenthesis, except in a function call; spaces before opening curly braces that denote a code block,
* **quoting** (e.g., of strings): always use double quotes instead of single quotes,
* **comments**: comments on the same line as source code start with a single hash sign (`#`), while comments on an own line start with two hash signs (`##`),
* **Booleans**: always write `TRUE` instead of `T` (analogously for `FALSE` and `F`),
* **square-brackets notation**: always access values in lists or data.frame using the square-brackets notation (e.g., `df["column1"]` or `list1[["item1"]]`, and
* **return statements**: always use the function `return()` to return a value from a function; do not use one when you intend to not return anything.
* To **include packages**, always use `requireNamespace` (and *not* `library`). Consequently, you need to use package prefixes (e.g., `igraph::`) when calling a package's functions.
* To handle dates and date objects (i.e. mainly, `POSIXct` objects in R), always use the functions `get.date.from.string`, `get.date.from.unix.timestamp`, and `get.date.string`. This ensures proper date handling in all parts of the code. If you need to modify dates (e.g., to add a week), always use the `lubridate` package.
* **Logging** is performed using the `logging` package.
* **Documentation**:
* Function, method, and class documentation is defined in **`roxygen2`** format (see [RStudio documentation](https://support.rstudio.com/hc/en-us/articles/200532317-Writing-Package-Documentation) for details).
* We use **networks**, not "graphs".
* We talk about **authors**, not developers.
* We use **vertices**, not "nodes".
* We talk about **authors**, not "developers".
* Function, method, and class documentation is defined in **`roxygen2`** format (see [RStudio documentation](https://support.rstudio.com/hc/en-us/articles/200532317-Writing-Package-Documentation) for details). In particular, we settle on the following style of the **`roxygen2`** documentation (see example below):
* The introductory sentence(s) which describes a function, method, or class, in general, must always start with an upper-case letter and end with a period. Use 2nd-person imperative ("Get the label.") rather than 3rd-person declarative ("Gets the label.").
* Variable names, class names, or other code snippets which are part of the function documentation must be placed within `\code{...}`.
**Note:** This does not hold for inline documentation within a function. There we only use `'...'` for variable names, class names, and other code snippets.
* Class documentation must include a basic, but abstract description of its functionality and the data it holds. If the class inherits from another class, the superclass must be mentioned explicitly in the description and also using a referenced (`@seealso SuperClassName`). The introductory sentence should be phrased something like this: `The class \code{X} (is a subclass of \code{SuperClass} and) provides ...`.
* For each parameter of a function or method, a parameter description (`@param parameter.name description`) must be added. The same holds for descriptions of return values (`@return description`) – if something is returned. For both items, the descriptions should always be a phrase (i.e., no verbs should be used), should start with a lower-case letter, and should *not* end with a period – *unless* there are further phrases or sentences following. If the description covers multiple lines, all but the first lines are indented along the start of the description in the first line.
* For parameters that take a default value, the default value must be placed directly after the description of the parameter using the following format: `[default: value]`.
**Note:** As `value` usually is code, we omit the `\code{...}` notation within `[default: ...]`.
* Add references to notable other classes, methods, constants, and functions using `@seealso reference`. As `reference` usually is code, we omit the `\code{...}` notation for it.
* Example for a function/method documentation:
```R
#' Group the data items of the given \code{data.source} by the given \code{group.column}.
#'
#' For each group, the column \code{data.column} is duplicated and prepended to each group's
#' data as first column (see \code{get.key.to.value.from.df} for details).
#'
#' Example: To obtain the authors who touched the same source-code artifact,
#' call \code{group.data.by.column("commits", "artifact", "author.name")}.
#'
#' @param data.source the specified data source, one of \code{"commits"},
#' \code{"mails"}, and \code{"issues"} [default: "commits"]
#' @param group.column the column to group the data of the given \code{data.source} by
#' @param data.column the column that gets duplicated as first column \code{data.vertices}
#'
#' @return a list mapping each distinct item in \code{group.column} to all corresponding
#' data items from \code{data.source}, with \code{data.column} duplicated as first
#' column (with name \code{"data.vertices"})
#'
#' @seealso get.key.to.value.from.df
group.data.by.column = function(data.source = c("commits", "mails", "issues"),
group.column, data.column) {
logging::loginfo("Grouping artifacts by data column.")

## check given data source given by 'data.source'
data.source = match.arg.or.default(data.source, several.ok = FALSE)
data.source.func = DATASOURCE.TO.ARTIFACT.FUNCTION[[data.source]]

## get the key-value mapping/list for the given parameters
mylist = get.key.to.value.from.df(self[[data.source.func]](), group.column, data.column)

return(mylist)
}
```
* For all other stuff, look at the source code and get inspired.
* Also **add tests** to the test suite for each new functionality you add!
* Keep the code as simple as possible. So, for example, no complex computation inside the `return` statement.

Expand Down
Loading