├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── Collaborative-RStudio-GitHub.Rproj
├── LICENSE-CODE.md
├── LICENSE.md
├── README.md
├── _quarto.yml
├── assets
├── LMU-OSC_favicon.jpg
├── LMU-OSC_logo.jpg
├── clone-button.png
├── colour_picker.png
├── command-line.png
├── comment-and-merge.png
├── commit.png
├── copy-params_tmpl.png
├── create-fork.png
├── create-pull-request.png
├── created-pull-request.png
├── edit-file.png
├── files-changed.png
├── files-tab.png
├── final-push.png
├── fork-button.png
├── fork-process.png
├── git-project.png
├── knit.png
├── new-overview.png
├── new-project.png
├── open-shell.png
├── paste-url.png
├── plot.png
├── pull-request-button.png
├── pull.png
├── push-github.png
├── push-rstudio.png
├── rename-copy.png
├── skulls.png
├── stage.png
├── success-commit.png
└── version-control-project.png
├── clone.md
├── commit.md
├── custom.scss
├── fork.md
├── gif.gif
├── gif
├── tmp-51.gif
├── tmp-52.gif
├── tmp-53.gif
├── tmp-54.gif
├── tmp-55.gif
├── tmp-56.gif
├── tmp-57.gif
├── tmp-58.gif
├── tmp-59.gif
├── tmp-60.gif
├── tmp-61.gif
├── tmp-62.gif
├── tmp-63.gif
├── tmp-64.gif
├── tmp-65.gif
├── tmp-66.gif
├── tmp-67.gif
├── tmp-68.gif
├── tmp-69.gif
├── tmp-70.gif
├── tmp-71.gif
├── tmp-72.gif
├── tmp-73.gif
├── tmp-74.gif
├── tmp-75.gif
├── tmp-76.gif
├── tmp-77.gif
├── tmp-78.gif
├── tmp-79.gif
├── tmp-80.gif
├── tmp-81.gif
├── tmp-82.gif
├── tmp-83.gif
├── tmp-84.gif
├── tmp-85.gif
├── tmp-86.gif
├── tmp-87.gif
├── tmp-88.gif
├── tmp-89.gif
├── tmp-90.gif
├── tmp-91.gif
├── tmp-92.gif
├── tmp-93.gif
├── tmp-94.gif
├── tmp-95.gif
├── tmp-96.gif
├── tmp-97.gif
├── tmp-98.gif
└── tmp-99.gif
├── index.md
├── matomo-analytics.html
├── merge.md
├── params
├── Jose_params.R
├── Luz_params.R
├── Sarah_params.R
├── anas_krystallinus.R
├── malika_rocks.R
└── params_copy.R
├── plot_trait_evolution.Rmd
├── pull-request.md
├── pull-upstream.md
├── push.md
└── styles.css
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | on:
2 | workflow_dispatch:
3 | push:
4 | branches: main
5 |
6 | name: Quarto Publish
7 |
8 | jobs:
9 | build-deploy:
10 | runs-on: ubuntu-latest
11 | permissions:
12 | contents: write
13 | steps:
14 | - name: Check out repository
15 | uses: actions/checkout@v4
16 |
17 | - name: Install libcurl
18 | run: |
19 | sudo apt-get install libcurl4-openssl-dev
20 |
21 | - name: Set up Quarto
22 | uses: quarto-dev/quarto-actions/setup@v2
23 |
24 | - name: Install R
25 | uses: r-lib/actions/setup-r@v2
26 | with:
27 | r-version: '4.4.0'
28 |
29 | - name: Install R Packages
30 | uses: r-lib/actions/setup-r-dependencies@v2
31 | with:
32 | cache-version: 1
33 | packages: |
34 | any::rmarkdown
35 | any::dplyr
36 | ggplot2@3.5.1
37 | plotly@4.10.4
38 | any::sessioninfo
39 |
40 | - name: Render and Publish
41 | uses: quarto-dev/quarto-actions/publish@v2
42 | with:
43 | target: gh-pages
44 | env:
45 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # History files
2 | .Rhistory
3 | .Rapp.history
4 |
5 | # Session Data files
6 | .RData
7 | .RDataTmp
8 |
9 | # User-specific files
10 | .Ruserdata
11 |
12 | # Example code in package build process
13 | *-Ex.R
14 |
15 | # Output files from R CMD build
16 | /*.tar.gz
17 |
18 | # Output files from R CMD check
19 | /*.Rcheck/
20 |
21 | # RStudio files
22 | .Rproj.user/
23 |
24 | # produced vignettes
25 | vignettes/*.html
26 | vignettes/*.pdf
27 |
28 | # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
29 | .httr-oauth
30 |
31 | # knitr and R markdown default cache directories
32 | *_cache/
33 | /cache/
34 |
35 | # Temporary files created by R markdown
36 | *.utf8.md
37 | *.knit.md
38 |
39 | # R Environment Variables
40 | .Renviron
41 |
42 | # pkgdown site
43 | docs/
44 |
45 | # translation temp files
46 | po/*~
47 |
48 | # RStudio Connect folder
49 | rsconnect/
50 |
51 | # Quarto
52 | /.quarto/
53 |
54 | # Future-proofing: ignore commonly included files that should not be tracked
55 | # Inspired by usethis::git_vaccinate() options
56 | .DS_Store
57 | .Rproj.user
58 | .httr-oauth
59 | .quarto
60 | _site/
61 |
--------------------------------------------------------------------------------
/Collaborative-RStudio-GitHub.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: knitr
13 | LaTeX: pdfLaTeX
14 |
15 | AutoAppendNewline: Yes
16 | StripTrailingWhitespace: Yes
17 |
--------------------------------------------------------------------------------
/LICENSE-CODE.md:
--------------------------------------------------------------------------------
1 | # Creative Commons Zero v1.0 Universal
2 |
3 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
4 |
5 | ### Statement of Purpose
6 |
7 | The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
8 |
9 | Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
10 |
11 | For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
12 |
13 | 1. __Copyright and Related Rights.__ A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
14 |
15 | i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
16 |
17 | ii. moral rights retained by the original author(s) and/or performer(s);
18 |
19 | iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
20 |
21 | iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
22 |
23 | v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
24 |
25 | vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
26 |
27 | vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
28 |
29 | 2. __Waiver.__ To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
30 |
31 | 3. __Public License Fallback.__ Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
32 |
33 | 4. __Limitations and Disclaimers.__
34 |
35 | a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
36 |
37 | b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
38 |
39 | c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
40 |
41 | d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
42 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # Creative Commons Attribution-ShareAlike 4.0 International
2 |
3 | Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
4 |
5 | **Using Creative Commons Public Licenses**
6 |
7 | Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
8 |
9 | * __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
10 |
11 | * __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
12 |
13 | ## Creative Commons Attribution-ShareAlike 4.0 International Public License
14 |
15 | By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
16 |
17 | ### Section 1 – Definitions.
18 |
19 | a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
20 |
21 | b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
22 |
23 | c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License.
24 |
25 | d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
26 |
27 | e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
28 |
29 | f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
30 |
31 | g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
32 |
33 | h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
34 |
35 | i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
36 |
37 | j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
38 |
39 | k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
40 |
41 | l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
42 |
43 | m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. __Your__ has a corresponding meaning.
44 |
45 | ### Section 2 – Scope.
46 |
47 | a. ___License grant.___
48 |
49 | 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
50 |
51 | A. reproduce and Share the Licensed Material, in whole or in part; and
52 |
53 | B. produce, reproduce, and Share Adapted Material.
54 |
55 | 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
56 |
57 | 3. __Term.__ The term of this Public License is specified in Section 6(a).
58 |
59 | 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
60 |
61 | 5. __Downstream recipients.__
62 |
63 | A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
64 |
65 | B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
66 |
67 | C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
68 |
69 | 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
70 |
71 | b. ___Other rights.___
72 |
73 | 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
74 |
75 | 2. Patent and trademark rights are not licensed under this Public License.
76 |
77 | 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
78 |
79 | ### Section 3 – License Conditions.
80 |
81 | Your exercise of the Licensed Rights is expressly made subject to the following conditions.
82 |
83 | a. ___Attribution.___
84 |
85 | 1. If You Share the Licensed Material (including in modified form), You must:
86 |
87 | A. retain the following if it is supplied by the Licensor with the Licensed Material:
88 |
89 | i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
90 |
91 | ii. a copyright notice;
92 |
93 | iii. a notice that refers to this Public License;
94 |
95 | iv. a notice that refers to the disclaimer of warranties;
96 |
97 | v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
98 |
99 | B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
100 |
101 | C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
102 |
103 | 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
104 |
105 | 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
106 |
107 | b. ___ShareAlike.___
108 |
109 | In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
110 |
111 | 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
112 |
113 | 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
114 |
115 | 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
116 |
117 | ### Section 4 – Sui Generis Database Rights.
118 |
119 | Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
120 |
121 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
122 |
123 | b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
124 |
125 | c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
126 |
127 | For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
128 |
129 | ### Section 5 – Disclaimer of Warranties and Limitation of Liability.
130 |
131 | a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
132 |
133 | b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
134 |
135 | c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
136 |
137 | ### Section 6 – Term and Termination.
138 |
139 | a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
140 |
141 | b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
142 |
143 | 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
144 |
145 | 2. upon express reinstatement by the Licensor.
146 |
147 | For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
148 |
149 | c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
150 |
151 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
152 |
153 | ### Section 7 – Other Terms and Conditions.
154 |
155 | a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
156 |
157 | b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
158 |
159 | ### Section 8 – Interpretation.
160 |
161 | a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
162 |
163 | b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
164 |
165 | c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
166 |
167 | d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
168 |
169 | > Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
170 | >
171 | > Creative Commons may be contacted at creativecommons.org.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Collaborative coding with GitHub and RStudio
2 |
3 | ## About this work
4 | This work was originally created by [Anna Krystalli](https://github.com/annakrystalli) from [RSE-Sheffield](https://github.com/RSE-Sheffield) under a [MIT licence](https://github.com/lmu-osc/Collaborative-RStudio-GitHub/blob/master/LICENSE) ([original repository](https://github.com/RSE-Sheffield/collaborative_github_exercise)). It was subsequently adapted by [Malika Ihle](https://ox.ukrn.org/people/#MalikaIhle) from [Reproducible Research Oxford](https://ox.ukrn.org/), with the contributions of [Adam Kenny](https://github.com/Kennyanthro). It is now maintained by [Malika Ihle](https://www.osc.uni-muenchen.de/about_us/coordinator/index.html) at the [LMU Open Science Center](https://www.osc.uni-muenchen.de/index.html). The overview image is from [Dumitru Uzun](https://duzun.me/tips/git). The exercice is based on the [research](http://eprints.whiterose.ac.uk/99452/1/Bright%20et%20al.%202016_SelfArchive.pdf) of [Jen Bright](https://twitter.com/MorphobeakGeek) who also kindly provided the gifs used in the exercice. You are free to use, copy, modify, distribute this work for your own projects.
5 |
6 |
7 | This session follows-up from the [Introduction to RStudio, Git, and GitHub](https://lmu-osc.github.io/Introduction-RStudio-Git-GitHub/) and is accompanied by this 10 min introductory [videorecording](https://osf.io/dcqt9/).
8 |
9 | ***
10 |
11 | ## Overview of the exercice
12 |
13 | In this session, you will
14 | * **fork** a GitHub repository (i.e. copy a collaborator's repository to your own GitHub account)
15 | * **clone** it locally (i.e. copy it to your computer while maintaining a connection to your remote (GitHub) version)
16 | * create a new file locally and **commit** it to your local repository (i.e. save the file locally in your version control system)
17 | * **push** your changes to your GitHub version (i.e. synchronise your local changes with your remote repository)
18 | * contribute a file to the original repository by making a **pull request** (i.e. request your collaborator, the owner of the original repository, to fetch your proposed changes and merge them into the original repository)
19 | * observe the outcome of all contributions merged by your collaborator
20 | * **pull the upstream repository into your fork** (i.e. update your fork to reflect all the changes that happened in your collaborator's original repository)
21 |
22 |
23 |
24 |
25 | In this example, the file you will contribute is required to simulate the evolutionary trajectory of an imaginary bird species’ body size. We will use RStudio and GitHub to collate all species files and plot them all up together at the end. We will also discover the skull and beak shapes associated with each species you contributed (after they 'evolved' through a simple brownian motion model which assumes steps to progress completely at random).
26 |
27 | 
28 |
29 | ***
30 |
31 | ## Step-by-step tutorial
32 | The material is self-paced and it is necessary that you work through the sections in order.
33 |
34 | * [Fork](./fork.md) - Copy your collaborator's repository
35 | * [Clone](./clone.md) - Copy your repository locally
36 | * [Commit](./commit.md) - Make changes and save them locally
37 | * [Push](./push.md) - Update your remote repository with your local changes
38 | * [Pull request](./pull-request.md) - Ask your collaborator to integrate your changes in their repository
39 | * [Merged results](./merge.md) - Observe the merge of all contributions
40 | * [Pull the upstream repository into your fork](./pull-upstream.md) - Update your fork with all contributions made to the original repository
41 |
42 | ***
43 |
--------------------------------------------------------------------------------
/_quarto.yml:
--------------------------------------------------------------------------------
1 | project:
2 | type: website
3 |
4 |
5 |
6 | website:
7 | title: ""
8 | page-footer:
9 | center: "Copyright, 2024 Open Science Center at LMU Munich"
10 | border: false
11 | search:
12 | location: sidebar
13 | repo-url: https://github.com/lmu-osc/Collaborative-RStudio-GitHub
14 | repo-actions: [edit, issue]
15 | page-navigation: true
16 | favicon: assets/LMU-OSC_favicon.jpg
17 | margin-header: |
18 | {width="175"}
19 | navbar:
20 | left:
21 | - href: index.md
22 |
23 | sidebar:
24 | style: docked
25 | contents:
26 | - text: "Home"
27 | href: index.md
28 | - section: "Tutorial"
29 | contents:
30 | - href: fork.md
31 | text: "Fork a Repo"
32 | - href: clone.md
33 | text: "Clone a Repo"
34 | - href: commit.md
35 | text: "Commit to a Project"
36 | - href: push.md
37 | text: "Push Changes"
38 | - href: pull-request.md
39 | text: "Pull Request"
40 | - href: merge.md
41 | text: "Merge Changes"
42 | - href: pull-upstream.md
43 | text: "Pull Upstream"
44 |
45 | format:
46 | html:
47 | theme:
48 | - cosmo
49 | - custom.scss
50 | css: styles.css
51 | toc: true
52 | include-in-header:
53 | - file: matomo-analytics.html
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/assets/LMU-OSC_favicon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/LMU-OSC_favicon.jpg
--------------------------------------------------------------------------------
/assets/LMU-OSC_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/LMU-OSC_logo.jpg
--------------------------------------------------------------------------------
/assets/clone-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/clone-button.png
--------------------------------------------------------------------------------
/assets/colour_picker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/colour_picker.png
--------------------------------------------------------------------------------
/assets/command-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/command-line.png
--------------------------------------------------------------------------------
/assets/comment-and-merge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/comment-and-merge.png
--------------------------------------------------------------------------------
/assets/commit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/commit.png
--------------------------------------------------------------------------------
/assets/copy-params_tmpl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/copy-params_tmpl.png
--------------------------------------------------------------------------------
/assets/create-fork.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/create-fork.png
--------------------------------------------------------------------------------
/assets/create-pull-request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/create-pull-request.png
--------------------------------------------------------------------------------
/assets/created-pull-request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/created-pull-request.png
--------------------------------------------------------------------------------
/assets/edit-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/edit-file.png
--------------------------------------------------------------------------------
/assets/files-changed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/files-changed.png
--------------------------------------------------------------------------------
/assets/files-tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/files-tab.png
--------------------------------------------------------------------------------
/assets/final-push.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/final-push.png
--------------------------------------------------------------------------------
/assets/fork-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/fork-button.png
--------------------------------------------------------------------------------
/assets/fork-process.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/fork-process.png
--------------------------------------------------------------------------------
/assets/git-project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/git-project.png
--------------------------------------------------------------------------------
/assets/knit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/knit.png
--------------------------------------------------------------------------------
/assets/new-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/new-overview.png
--------------------------------------------------------------------------------
/assets/new-project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/new-project.png
--------------------------------------------------------------------------------
/assets/open-shell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/open-shell.png
--------------------------------------------------------------------------------
/assets/paste-url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/paste-url.png
--------------------------------------------------------------------------------
/assets/plot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/plot.png
--------------------------------------------------------------------------------
/assets/pull-request-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/pull-request-button.png
--------------------------------------------------------------------------------
/assets/pull.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/pull.png
--------------------------------------------------------------------------------
/assets/push-github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/push-github.png
--------------------------------------------------------------------------------
/assets/push-rstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/push-rstudio.png
--------------------------------------------------------------------------------
/assets/rename-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/rename-copy.png
--------------------------------------------------------------------------------
/assets/skulls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/skulls.png
--------------------------------------------------------------------------------
/assets/stage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/stage.png
--------------------------------------------------------------------------------
/assets/success-commit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/success-commit.png
--------------------------------------------------------------------------------
/assets/version-control-project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/assets/version-control-project.png
--------------------------------------------------------------------------------
/clone.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Clone your GitHub repository
3 | ---
4 |
5 | ***
6 | 1. **GitHub**: click on the green `<> Code` button, choose the **SSH** URL to secure your connection, and copy **your** repository's URL.
7 |
8 | 
9 |
10 |
11 |
12 |
13 | 2. **RStudio**: create a new project
14 |
15 | 
16 |
17 |
18 |
19 |
20 | 3. **RStudio**: select `Checkout a project from a version control repository`
21 |
22 | 
23 |
24 |
25 |
26 |
27 | 4. **RStudio**: select `Clone a project from a Git repository`
28 |
29 | 
30 |
31 |
32 |
33 |
34 | 5. **RStudio**: paste the URL of **your** GitHub repository into 'Repository URL'. Do not locate this new Git repository in the folder created in the first tutorial (i.e. so that each folder has its own Git database). Click `Create Project`. Your password will be requested.
35 |
36 | 
37 |
38 |
39 |
40 |
41 | 6. **RStudio**: Click on the Files tab to check that it contains all the files from the GitHub repository
42 |
43 | 
44 |
45 | ***
46 |
47 |
--------------------------------------------------------------------------------
/commit.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Commit changes locally
3 | ---
4 |
5 | ***
6 | To avoid conflict during this collaborative coding exercice (i.e. contributors editing the same line of code at the same time), today, we will work on different files altogether. To avoid conflict in future projects, no tool will be able to replace good communication. However, GitHub offers tools to help that communication, called [GitHub issues](https://guides.github.com/features/issues/). And if need be, you could still [resolve conflicts using the command line](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line). Today, to avoid conflict, you will copy a template file and edit your own copy.
7 |
8 | 1. **RStudio**: select `params/params_tmpl.R` and click on 'More', 'Copy', and give it the name of your imaginary species or your name. **Please to not overwrite or edit the file `params/params_tmpl.R`.**
9 |
10 | 
11 | 
12 |
13 |
14 |
15 |
16 | 2. **RStudio**: edit your `.R` script
17 |
18 | 
19 |
20 | The parameters each participants need to supply are:
21 |
22 | - **`sig2`:** A numeric value greater than 0 but smaller than 5. A numerical value doesn't have quotaiton marks around it.
23 |
24 | - **`species.name`:** a character string e.g. `"anas_krystallinus"`. Try to create a species name out of your name! A string has quotation marks around it in R.
25 |
26 | - **`color`:** e.g. `"red"`, `"#FFFFFF"`. This code or string should have quotation marks around it.
27 |
28 | (optional) If you want, you can use the RStudio colour picker to select a color. If you don't have it installed, type `install.packages("colourpicker")` in your console.
29 |
30 |
31 |
32 |
33 |
34 |
35 | 3. **RStudio**: save your file and in the Git tab, tick the box next to *** **your new script ONLY** *** to stage your file and click 'commit'.
36 |
37 | 
38 |
39 |
40 |
41 |
42 | 4. **RStudio**: supply a descriptive message of the commit and click `commit`
43 |
44 | 
45 |
46 |
47 | ***
48 |
49 |
--------------------------------------------------------------------------------
/custom.scss:
--------------------------------------------------------------------------------
1 | /*-- scss:defaults --*/
2 | // Base document colors
3 | $navbar-bg: #009933;
4 | $link-color: #006426;
5 | $sidebar-hl: #006426;
6 |
--------------------------------------------------------------------------------
/fork.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Fork a GitHub repository
3 | ---
4 |
5 | ***
6 | 1. **GitHub**: go to [https://github.com/lmu-osc/Collaborative-RStudio-GitHub](https://github.com/lmu-osc/Collaborative-RStudio-GitHub).
7 |
8 |
9 |
10 |
11 | 2. **GitHub**: click on `Fork`. GitHub is creating your own copy of the repository in your GitHub account. Forks are linked and traceable.
12 |
13 | 
14 |
15 |
16 |
17 | 3. **GitHub**: click on the green button 'create fork' with the default settings.
18 |
19 |
20 |
21 |
22 |
23 | 4. **GitHub**: you should now have a fork of this repository in your own GitHub account.
24 |
25 | 
26 |
27 |
28 |
29 | ***
30 |
31 |
--------------------------------------------------------------------------------
/gif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif.gif
--------------------------------------------------------------------------------
/gif/tmp-51.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-51.gif
--------------------------------------------------------------------------------
/gif/tmp-52.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-52.gif
--------------------------------------------------------------------------------
/gif/tmp-53.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-53.gif
--------------------------------------------------------------------------------
/gif/tmp-54.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-54.gif
--------------------------------------------------------------------------------
/gif/tmp-55.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-55.gif
--------------------------------------------------------------------------------
/gif/tmp-56.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-56.gif
--------------------------------------------------------------------------------
/gif/tmp-57.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-57.gif
--------------------------------------------------------------------------------
/gif/tmp-58.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-58.gif
--------------------------------------------------------------------------------
/gif/tmp-59.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-59.gif
--------------------------------------------------------------------------------
/gif/tmp-60.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-60.gif
--------------------------------------------------------------------------------
/gif/tmp-61.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-61.gif
--------------------------------------------------------------------------------
/gif/tmp-62.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-62.gif
--------------------------------------------------------------------------------
/gif/tmp-63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-63.gif
--------------------------------------------------------------------------------
/gif/tmp-64.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-64.gif
--------------------------------------------------------------------------------
/gif/tmp-65.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-65.gif
--------------------------------------------------------------------------------
/gif/tmp-66.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-66.gif
--------------------------------------------------------------------------------
/gif/tmp-67.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-67.gif
--------------------------------------------------------------------------------
/gif/tmp-68.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-68.gif
--------------------------------------------------------------------------------
/gif/tmp-69.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-69.gif
--------------------------------------------------------------------------------
/gif/tmp-70.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-70.gif
--------------------------------------------------------------------------------
/gif/tmp-71.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-71.gif
--------------------------------------------------------------------------------
/gif/tmp-72.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-72.gif
--------------------------------------------------------------------------------
/gif/tmp-73.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-73.gif
--------------------------------------------------------------------------------
/gif/tmp-74.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-74.gif
--------------------------------------------------------------------------------
/gif/tmp-75.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-75.gif
--------------------------------------------------------------------------------
/gif/tmp-76.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-76.gif
--------------------------------------------------------------------------------
/gif/tmp-77.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-77.gif
--------------------------------------------------------------------------------
/gif/tmp-78.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-78.gif
--------------------------------------------------------------------------------
/gif/tmp-79.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-79.gif
--------------------------------------------------------------------------------
/gif/tmp-80.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-80.gif
--------------------------------------------------------------------------------
/gif/tmp-81.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-81.gif
--------------------------------------------------------------------------------
/gif/tmp-82.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-82.gif
--------------------------------------------------------------------------------
/gif/tmp-83.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-83.gif
--------------------------------------------------------------------------------
/gif/tmp-84.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-84.gif
--------------------------------------------------------------------------------
/gif/tmp-85.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-85.gif
--------------------------------------------------------------------------------
/gif/tmp-86.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-86.gif
--------------------------------------------------------------------------------
/gif/tmp-87.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-87.gif
--------------------------------------------------------------------------------
/gif/tmp-88.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-88.gif
--------------------------------------------------------------------------------
/gif/tmp-89.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-89.gif
--------------------------------------------------------------------------------
/gif/tmp-90.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-90.gif
--------------------------------------------------------------------------------
/gif/tmp-91.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-91.gif
--------------------------------------------------------------------------------
/gif/tmp-92.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-92.gif
--------------------------------------------------------------------------------
/gif/tmp-93.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-93.gif
--------------------------------------------------------------------------------
/gif/tmp-94.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-94.gif
--------------------------------------------------------------------------------
/gif/tmp-95.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-95.gif
--------------------------------------------------------------------------------
/gif/tmp-96.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-96.gif
--------------------------------------------------------------------------------
/gif/tmp-97.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-97.gif
--------------------------------------------------------------------------------
/gif/tmp-98.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-98.gif
--------------------------------------------------------------------------------
/gif/tmp-99.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lmu-osc/Collaborative-RStudio-GitHub/2763be13b2e233807a43356c28a758caaf51005f/gif/tmp-99.gif
--------------------------------------------------------------------------------
/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Collaborative coding with GitHub and RStudio
3 | ---
4 |
5 | ## About this work
6 | This work was originally created by [Anna Krystalli](https://github.com/annakrystalli) from [RSE-Sheffield](https://github.com/RSE-Sheffield) under a [MIT licence](https://github.com/lmu-osc/Collaborative-RStudio-GitHub/blob/master/LICENSE) ([original repository](https://github.com/RSE-Sheffield/collaborative_github_exercise)). It was subsequently adapted by [Malika Ihle](https://ox.ukrn.org/people/#MalikaIhle) during her time at [Reproducible Research Oxford](https://ox.ukrn.org/), with the contributions of [Adam Kenny](https://github.com/Kennyanthro). It is now maintained by [Malika Ihle](https://www.osc.uni-muenchen.de/about_us/coordinator/index.html) at the [LMU Open Science Center](https://www.osc.uni-muenchen.de/index.html). The overview image is from [Dumitru Uzun](https://duzun.me/tips/git). The exercice is based on the [research](http://eprints.whiterose.ac.uk/99452/1/Bright%20et%20al.%202016_SelfArchive.pdf) of [Jen Bright](https://twitter.com/MorphobeakGeek) who also kindly provided the gifs used in the exercice. You are free to use, copy, modify, distribute this work for your own projects.
7 |
8 |
9 | This session follows-up from the [Introduction to RStudio, Git, and GitHub](https://lmu-osc.github.io/Introduction-RStudio-Git-GitHub/) and is accompanied by this 10 min introductory [videorecording](https://osf.io/dcqt9/).
10 |
11 | ***
12 |
13 | ## Overview of the exercice
14 |
15 | In this session, you will
16 |
17 | * **fork** a GitHub repository (i.e. copy a collaborator's repository to your own GitHub account)
18 | * **clone** it locally (i.e. copy it to your computer while maintaining a connection to your remote (GitHub) version)
19 | * create a new file locally and **commit** it to your local repository (i.e. save the file locally in your version control system)
20 | * **push** your changes to your GitHub version (i.e. synchronise your local changes with your remote repository)
21 | * contribute a file to the original repository by making a **pull request** (i.e. request your collaborator, the owner of the original repository, to fetch your proposed changes and merge them into the original repository)
22 | * observe the outcome of all contributions merged by your collaborator
23 | * **pull the upstream repository into your fork** (i.e. update your fork to reflect all the changes that happened in your collaborator's original repository)
24 |
25 |
26 |
27 |
28 | In this example, the file you will contribute is required to simulate the evolutionary trajectory of an imaginary bird species’ beak size. We will use RStudio and GitHub to collate all species files and plot them all up together at the end. We will also discover the skull and beak shapes associated with each species you contributed (after they 'evolved' through a simple brownian motion model which assumes steps to progress completely at random).
29 |
30 | 
31 |
32 |
33 | ***
34 |
35 | ## Step-by-step tutorial
36 | The material is self-paced and it is necessary that you work through the sections in order.
37 |
38 | * [Fork](./fork.md) - Copy your collaborator's repository
39 | * [Clone](./clone.md) - Copy your repository locally
40 | * [Commit](./commit.md) - Make changes and save them locally
41 | * [Push](./push.md) - Update your remote repository with your local changes
42 | * [Pull request](./pull-request.md) - Ask your collaborator to integrate your changes in their repository
43 | * [Merged results](./merge.md) - Observe the merge of all contributions
44 | * [Pull the upstream repository into your fork](./pull-upstream.md) - Update your fork with all contributions made to the original repository
45 |
46 | ***
47 |
--------------------------------------------------------------------------------
/matomo-analytics.html:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
--------------------------------------------------------------------------------
/merge.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Observe the merged contributions
3 | ---
4 |
5 | ***
6 |
7 | **!!! If the session is live!!!**: go see your collaborator merge your pull request! Most likely it will be a thumbs up and result in a merge! But your collaborator might also request a correction if they spot an error.
8 |
9 |
10 |
11 |
12 |
13 |
14 | **If you are following this tutorial on your own asynchronously**: These are the steps of the merge:
15 |
16 |
17 |
18 | 1. **Collaborator's screen - GitHub**: In their pull request tab, they will inspect the files you changed and ensure that the parameters were inputted correctly so as to not break down their code down the line.
19 |
20 | 
21 |
22 |
23 |
24 | 2. **Collaborator's screen - GitHub**: They will navigate back to the conversation tab of your pull request to write some comments, merge your pull request, and confirm the merge.
25 |
26 | 
27 |
28 |
29 |
30 | 3. **Collaborator's screen - RStudio**: They will pull their GitHub repository into their local repository.
31 |
32 | 
33 |
34 |
35 |
36 |
37 | 4. **Collaborator's screen - RStudio**: They will knit the Rmarkdown file `plot-trait-evolution.Rmd` which sources all the contributed files. Knitting a Rmarkdown file means rendering the Rmarkdown code (that integrate R code and Markdown code) into a defined format, here a html file. This file generates plots and figures based on the parameters that were contributed.
38 |
39 | 
40 |
41 |
42 |
43 |
44 | 5. **Collaborator's screen - RStudio**: If all packages needed to run this script and to knit the file into a html page are installed, this file will generate plots and figures based on the parameters that were contributed.
45 |
46 | 
47 | 
48 |
49 |
50 |
51 |
52 |
53 | This is how one can integrate data and code to a common repository shared amongst collaborators!
54 |
55 |
56 | ***
57 |
58 |
--------------------------------------------------------------------------------
/params/Jose_params.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 2
8 |
9 | # e.g. "anas_krystallinus"
10 | #elena = starlight, lux = light; isenberg = iron mountain, fer = iron, mont = mountain
11 | species.name <- "jose_luxmont"
12 |
13 | # my colors: c("#6B8E23", "#00688B", "#FFB90F")
14 | color <- "#FFB90F"
15 |
16 | # tip: pick a color using rstudio colour picker.
17 | # Addins > Colour Picker (to install: install.packages("colourpicker"))
18 |
--------------------------------------------------------------------------------
/params/Luz_params.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 2.5
8 |
9 | # e.g. "anas_krystallinus"
10 | #elena = starlight, lux = light; isenberg = iron mountain, fer = iron, mont = mountain
11 | species.name <- "lux_fermonta"
12 |
13 | # my colors: c("#6B8E23", "#00688B", "#FFB90F")
14 | color <- "#00688B"
15 |
16 | # tip: pick a color using rstudio colour picker.
17 | # Addins > Colour Picker (to install: install.packages("colourpicker"))
18 |
--------------------------------------------------------------------------------
/params/Sarah_params.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 3
8 |
9 | # e.g. "anas_krystallinus"
10 | #elena = starlight, lux = light; isenberg = iron mountain, fer = iron, mont = mountain
11 | species.name <- "lupus_castri"
12 |
13 | # my colors: c("#6B8E23", "#00688B", "#FFB90F")
14 | color <- "#551A8B"
15 |
16 | # tip: pick a color using rstudio colour picker.
17 | # Addins > Colour Picker (to install: install.packages("colourpicker"))
18 |
--------------------------------------------------------------------------------
/params/anas_krystallinus.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 0.8
8 |
9 | # e.g. "anas_krystallinus"
10 | species.name <- "anas_krystallinus"
11 |
12 | # e.g. "orange"
13 | color <- "orange"
14 |
15 | # tip: pick a color at using rstudio colour picker. Addins > Colour Picker
16 |
--------------------------------------------------------------------------------
/params/malika_rocks.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 3.5
8 |
9 | # e.g. "anas_krystallinus"
10 | species.name <- "malika_rocks"
11 |
12 | # e.g. "red"
13 | color <- "#311DB3"
14 |
15 | # tip: pick a color using rstudio colour picker.
16 | # Addins > Colour Picker (to install: install.packages("colourpicker"))
17 |
--------------------------------------------------------------------------------
/params/params_copy.R:
--------------------------------------------------------------------------------
1 | # !! PLEASE DO NOT EDIT THIS FILE !!
2 | # ** make a copy and edit that instead **
3 | # ________________________________________________
4 | # input parameters
5 |
6 | # sigma2: 0 < value < 5
7 | sig2 <- 3
8 |
9 | # e.g. "anas_krystallinus"
10 | #elena = starlight, lux = light; isenberg = iron mountain, fer = iron, mont = mountain
11 | species.name <- "lux_fermonta"
12 |
13 | # my colors: c("#6B8E23", "#00688B", "#FFB90F")
14 | color <- "#00688B"
15 |
16 | # tip: pick a color using rstudio colour picker.
17 | # Addins > Colour Picker (to install: install.packages("colourpicker"))
18 |
--------------------------------------------------------------------------------
/plot_trait_evolution.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | output:
3 | html_document:
4 | theme: cerulean
5 | pdf_document: default
6 | ---
7 |
8 | # **Evolutionary lottery of skull and beak morphology**
9 |
10 |
11 |
12 | > [**Beak and skull shapes in birds of prey ("raptors") are strongly coupled and largely controlled by size.**](http://eprints.whiterose.ac.uk/99452/1/Bright%20et%20al.%202016_SelfArchive.pdf)
13 |
14 | gif provided by the awesome **Jen Bright** [**\@MorphobeakGeek**](https://twitter.com/MorphobeakGeek)!
15 |
16 | 
17 |
18 | In this exercise we will **use a github repo** to collaboratively collate and *simulate evolutionary trajectories for each participants' species* ***body size*** using a simple brownian motion evolutionary model. This assumes evolutionary steps to progress comletely at random. You could say:
19 |
20 | #### it's a bit of lottery!
21 |
22 |
23 |
24 | Each participant has **created and contributed a file** specifying the parameters required to simulate and plot their species evolutionary trajectory. We've collect all participants' files in the master repo. Next we need to simulate species trajectories plot them up.
25 |
26 | Participants will then get to **see the skull and beak shape** corresponding to their species relative body size!
27 |
28 | ------------------------------------------------------------------------
29 |
30 | ### setup
31 |
32 | First we load the required packages and create some objects to compile data on trait evolution for each species.
33 |
34 | ```{r warning=F, message=FALSE}
35 | library(dplyr)
36 | library(ggplot2) #3.5.1
37 | library(plotly) #4.10.4
38 | set.seed(1)
39 |
40 | t <- 0:100 # generate time vector
41 | dt <- NULL # generate object to compile time-series data
42 | cols <- NULL # generate object to compile trendline colours
43 | ```
44 |
45 | ------------------------------------------------------------------------
46 |
47 | ### Simulate trait evolution, iterate over all species files in `params/` folder
48 |
49 | We'll use the parameters supplied in your scripts to generate brownian trait evolution trendline for each species.
50 |
51 | ```{r}
52 | #getting the file names for everything except the template that has undefined values
53 | spp.files <- dir("params/")[dir("params/") != "params_tmpl.R"]
54 |
55 | for(spp in spp.files){
56 | # source parameters for each species
57 | source(file.path("params", spp))
58 |
59 | # generate trait evolution time-series and compile plotting data
60 | dt <- rbind(dt, data.frame(t,
61 | trait = c(0, rnorm(n = length(t) - 1, sd = sqrt(sig2)) |> cumsum()),
62 | species = species.name))
63 | cols <- c(cols, color)
64 | }
65 |
66 | ```
67 |
68 |
69 | ### Plot trait evolution timeseries
70 |
71 | Use the data generated to plot all species.
72 |
73 | ```{r fig.width = 9}
74 |
75 | # Specify the order of species based on the order of colors in cols to stop a mismatch in colours
76 | dt$species <- factor(dt$species, levels = unique(dt$species))
77 |
78 | # Create the ggplot object
79 | p <- ggplot(data = dt, aes(x = t, y = trait, group = species, colour = species)) +
80 | geom_line() +
81 | scale_colour_manual(values = cols)
82 |
83 | # Plot the results
84 | ggplotly(p)
85 | ```
86 |
87 |
88 |
89 | ------------------------------------------------------------------------
90 |
91 | ## **Skulls!** find the skull associated with your species:
92 |
93 |
94 |
95 | Skulls are organised from **largest** to **smallest**. The largest skulls are **vulture-like**, (e.g. **no. 50, the Andean condor** [*Vultur gryphus*](https://en.wikipedia.org/wiki/Andean_condor)) and the smallest are **falconet-like**, (e.g. **no. 1 Collared falconet** [*Microhierax caerulescens*](https://en.wikipedia.org/wiki/Collared_falconet))
96 |
97 | ```{r, echo=FALSE, results='asis'}
98 | skull <- dt[dt$t == 100,]
99 | skull <- skull[order(skull$trait, decreasing = T),]
100 |
101 | gf <- list.files("gif/")
102 |
103 | if(length(gf) > 0){
104 | max.x <- max(abs(dt$trait))
105 | breaks <- seq(-max.x, max.x, length.out = 51)
106 | bins <- cut(skull$trait, breaks = breaks, include.lowest = T, labels = F)
107 |
108 | for(i in 1:nrow(skull)){
109 | cat("### **No: ",bins[i], "** ***", as.character(skull$species[i]),"***", "\n", "\n", sep = "")
110 | cat("", "\n", "\n", sep = "")
111 | }
112 | }
113 | ```
114 |
115 |
116 | ### Session Info
117 |
118 | ```{r}
119 | sessioninfo::session_info()
120 | ```
121 |
--------------------------------------------------------------------------------
/pull-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Create a pull request to ask your collaborator to merge your fork to the original repository
3 | ---
4 |
5 | ***
6 |
7 | 1. **GitHub**: in your repository, click on '**contribute**' and '**open pull request**'
8 |
9 | 
10 |
11 |
12 |
13 |
14 | 2. **GitHub**: **make sure the base repository is the LMU Open Science Center's original one and the head fork is yours**, both set on their main branch (these repositories should only have one branch anyway called 'main'. Branches are diverging versions of a file *within* a repository - we will not cover this concept today). Check that your requested merge does not create any conflict. In addition, **write an informative message**, explaining your changes to your collaborator, the author of the original repository. Click on `Create pull request`
15 |
16 | 
17 |
18 |
19 |
20 |
21 | 3. **GitHub**: you can now see a conversation tab around your pull request in the repository of the original owner:
22 |
23 |
24 |
25 |
26 | ***
27 |
28 |
--------------------------------------------------------------------------------
/pull-upstream.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Pull upstream repository into your fork
3 | ---
4 |
5 | ***
6 |
7 | To integrate all the contributions made to the original repository into your local repository, you may think that you could first integrate the changes from the original repository into your fork (your GitHub version) and then pull your fork (to update your local copy), but this is not possible. You will need to shortcircuit this by pulling the original repository into your local repository directly (and then push the local new changes to your remote version on GitHub). This means that this operation needs to happen locally, in RStudio. Because you will not be pulling from your fork (your remote GitHub) but from the original repository, and that this isn't a daily operation, you do not have a shortcut for this in RStudio. This operation needs to be instructed in the command line, in the Terminal tab of RStudio.
8 |
9 | 1. **RStudio**: go to the Terminal tab of Rstudio
10 |
11 | 2. **Terminal**: first make sure you are on the branch you wish to receive the modifications (today we didn't create branches other than the default one called 'main') by typing:
12 |
13 | ```bash
14 | git checkout main
15 | ```
16 |
17 |
18 | 4. **Terminal**: type the command to pull the original repository and branch you wish to obtain locally which has the format: `git pull git@github.com:ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git` where you would replace original owner and repository to the appropriate names. Here:
19 |
20 | ```bash
21 | git pull git@github.com:lmu-osc/Collaborative-RStudio-GitHub.git
22 | ```
23 |
24 |
25 | 
26 |
27 | 6. **RStudio**: check in the Files tab that the new contributions appeared.
28 |
29 | 7. **RStudio**: push those local changes to your GitHub repository (you can do this from the command line by typing `git push`)
30 |
31 | 
32 |
33 |
34 | You are done!
35 |
36 | ***
37 |
38 |
--------------------------------------------------------------------------------
/push.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Push your local changes to your remote repository"
3 | ---
4 |
5 | ***
6 |
7 | 1. **RStudio**: push your changes to GitHub by clicking, in the Git tab, the green arrow pointing up and entering your password.
8 |
9 | 
10 |
11 | when successful you should get this pop up box which you can close:
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | 2. **GitHub**: verify that your changes were integrated in your GitHub repository by refreshing your GitHub repository webpage and looking into the params folder to see if your file is there.
20 |
21 | ***
22 |
23 |
--------------------------------------------------------------------------------
/styles.css:
--------------------------------------------------------------------------------
1 | /* css styles */
2 |
3 | .nav-page .nav-page-text {
4 | font-size: 15pt;
5 | }
6 |
--------------------------------------------------------------------------------