0% found this document useful (0 votes)
20 views83 pages

DR - Pierpaolo-Delser - Introduction R

The document introduces R, its advantages over Excel for data analysis, basic commands and operations in R including variables, data types, and data structures. It also briefly mentions version control tools Github and Gitlab.

Uploaded by

hi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views83 pages

DR - Pierpaolo-Delser - Introduction R

The document introduces R, its advantages over Excel for data analysis, basic commands and operations in R including variables, data types, and data structures. It also briefly mentions version control tools Github and Gitlab.

Uploaded by

hi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

Introduction to R, Github and

Gitlab
27/11/2018

Pierpaolo Maisano Delser


mail: maisanop@tcd.ie ; pm604@cam.ac.uk
Outline:

• Why R? What can R do?

• Basic commands and operations

• Data analysis in R

• Github and Gitlab


Outline:

• Why R? What can R do?

• Basic commands and operations

• Data analysis in R

• Github and Gitlab


Why R? What can R do?

• R is a language and environment for


statistical computing and graphics;

• It is open source and free software


package;

• Lots of resources, packages and support


Why R? What can R do?

R vs Excel

• Dragging and updating formula;

• Spreadsheets can get really big and confusing;

• Lack of quick way to get a summary of the data;

• …
Why R? What can R do?

R vs Excel

• Point-and-click software is not time efficient;

• Automating tasks will pay off within the time frame of a PhD and thereafter

R is more efficient
Why R? What can R do?

R vs Excel

• Reproducibility: there is an increasing expectation that material, data and


analysis details are provided alongside the research, this is easier when
analyses are script based.
Why R? What can R do?

Flexibility:

• Read different file formats;

• Compute analysis;

• Generate graphs and plots;

• Summary of your data;

• R works on vector, matrix and dataframe;

• Generate reports;
Why R? What can R do?
Why R? What can R do?

Advantages:

• Fast and free

• Statistical researchers provide their


methods as R packages

• Good graphics (MATLAB and python)

• Active user community (great support)

• Excellent data analysis;

• Forces you to think about your analysis

• Functions can be integrated in R packages


Why R? What can R do?

Advantages: Disadvantages:

• Fast and free • “Not user friendly at start - steep learning


curve, minimal GUI”
• Statistical researchers provide their
methods as R packages • Easy to make mistakes and not know.

• Good graphics (MATLAB and python) • Working with large datasets is limited by RAM

• Active user community (great support)

• Excellent data analysis;

• Forces you to think about your analysis

• Functions can be integrated in R packages


Why R? What can R do?

Advantages: Disadvantages:

• Fast and free • “Not user friendly at start - steep learning


curve, minimal GUI”
• Statistical researchers provide their
methods as R packages • Easy to make mistakes and not know.

• Good graphics (MATLAB and python) • Working with large datasets is limited by RAM

• Active user community (great support)

• Excellent data analysis;

• Forces you to think about your analysis

• Functions can be integrated in R packages


Why R? What can R do?

Disadvantages:

• “Not user friendly at start - steep learning


curve, minimal GUI”
Why R? What can R do?

Advantages:

• Functions can be integrated in R packages


Why R? What can R do?

t<-read.table(“/home/pier/data/input_stat”)
Advantages:
dim(t) #number of columns and rows
• Functions can be integrated in R packages
Why R? What can R do?

t<-read.table(“/home/pier/data/input_stat”)
Advantages:
dim(t) #number of columns and rows
• Functions can be integrated in R packages
#I want to calculate the sum of each column
and if it is > 10, print out “column X has
sum greater than 10”

for (i in 1:ncol(t)) {
f<-sum(t[,i])
if (f>10) {
print (paste(“Column “, i, “
has a sum greater than 10”, sep=“”))
}
else {
}
}
Why R? What can R do?

t<-read.table(“/home/pier/data/input_stat”)
Advantages:
dim(t) #number of columns and rows
• Functions can be integrated in R packages
#I want to calculate the sum of each column
and if it is > 10, print out “column X has
sum_10 <- function(table) { sum greater than 10”

for (i in 1:ncol(table)) { for (i in 1:ncol(t)) {


f<-sum(table[,i]) f<-sum(t[,i]
if (f>10) { if (f>10) {
print print (paste(“Column “, i, “
(paste(“Column “, i, “ has a has a sum greater than 10”, sep=“”))
sum greater than 10”, sep=“”)) }
} else {
else { }
} }
}

}
Why R? What can R do?

t<-read.table(“/home/pier/data/input_stat”)
Advantages:
dim(t) #number of columns and rows
• Functions can be integrated in R packages
#I want to calculate the sum of each column
and if it is > 10, print out “column X has
sum_10 <- function(table) { sum greater than 10”

for (i in 1:ncol(table)) { sum_10(t)


f<-sum(table[,i])
if (f>10) {
print
(paste(“Column “, i, “ has a
sum greater than 10”, sep=“”))
}
else {
}
}

}
Why R? What can R do?

Advantages:

• Active user community (great support)

R packages for:

• Statistical analysis;
• Plotting;
• Graphs;
• Managing calendar dates;
• Selecting colour palette;
• Machine learning;
• Population genetics;
• …
Outline:

• Why R? What can R do?

• Basic commands and operations

• Data analysis in R

• Github and Gitlab


Basic commands and operations

Variables:

• Alphanumeric symbols, plus “.” and “_” are allowed;


• Variables are case sensitive, so “T” is different from “t”;
Basic commands and operations

Variables:

• Alphanumeric symbols, plus “.” and “_” are allowed;


• Variables are case sensitive, so “T” is different from “t”;

Assignment “<-”:

• t<-3, T<-5, X.1<-9;


• In 2001, the “=“ assignment was introduced for compatibility with other languages;
Basic commands and operations

Variables:

• Alphanumeric symbols, plus “.” and “_” are allowed;


• Variables are case sensitive, so “T” is different from “t”;

Assignment “<-”:

• t<-3, T<-5, X.1<-9;


• In 2001, the “=“ assignment was introduced for compatibility with other languages;

> t<-3

> k<-“hello”

> a<-1.435275289
Basic commands and operations

Arithmetic operators:

• Addition: +
• Subtraction: -
• Division: /
• Multiplication: *
• Exponentiation: ^

• We can use R as a calculator:

> (3+2)^2
[1] 25

> (7-5)/2
[1] 1

> 1*2*3*4
[1] 24
Basic commands and operations

Data type:

• Numeric, character and logical

> t<-2.356 #numeric variable

> t<-”hello” #character variable

> t<-TRUE; f<-FALSE #logical variables


Basic commands and operations

Data structure:

• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors


Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> t<-c(3, 5.6748, 67, 5) #numeric vector

> t<-c(1, 1:3, c(5, 8), 13)


[1] 1 1 2 3 5 8 13

> t<-c(“hello”, “how”, “are”, “you”, “?”) #character vector


Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> t<-c(3, 5.6748, 67, 5) #numeric vector

> length(t)
[1] 4
Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> matrix(c(1,2,3,4,5,6), ncol=2, nrow=3)

[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> t<- matrix(c(1,2,3,4,5,6), ncol=2, nrow=3)

[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6

> dim(t)
[1] 3 2
Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> matrix(c(1,2,3,4,5,6), ncol=2, nrow=3, dimnames=list(c("Variable_1",


"Variable_2", "Variable_3"), c("factor_1","factor_2")))

factor_1 factor_2
Variable_1 1 4
Variable_2 2 5
Varibale_3 3 6
Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> array(1:24,dim = c(4, 3, 2), dimnames = list(c("one", "two", "three",


"four"),c("apple", "orange", "pear"),
c("land", "sea")))
Basic commands and operations
c function for concatenating
Data structure: values and vectors to create
longer vectors
• Vector: an ordered collection of data;

• Matrix: two-dimensional generalisations of vectors

• Array: multi-dimensional generalisations of vectors

> array(1:24,dim = c(4, 3, 2), dimnames = list(c("one", "two", "three",


"four"),c("apple", "orange", "pear"),
c("land", "sea")))
Basic commands and operations

> array(1:24,dim = c(4, 3, 2), dimnames = list(c("one", "two", "three",


"four"),c("apple", "orange", "pear"),
c("land", "sea")))

, , land

apple orange pear


one 1 5 9
two 2 6 10
three 3 7 11
four 4 8 12

, , sea

apple orange pear


one 13 17 21
two 14 18 22
three 15 19 23
four 16 20 24
Basic commands and operations

Data structure:

• Data frame: are matrix-like structure but the columns can be of different data types (i.e.
numerical and character)

> data.frame(weight=c(1,23,4,56,32), gender=c("M","F","F","M","F"))

weight gender
1 1 M
2 23 F
3 4 F
4 56 M
5 32 F
Basic commands and operations

Indexing and selecting:


Basic commands and operations

Indexing and selecting:

• Vector:

> t<-c(3, 5.6748, 67, 5) #numeric vector

> length(t)
[1] 4

> t[3]
[1] 67

> t[c(2,4)]
[1] 5.6748 5
Basic commands and operations

Indexing and selecting:

• Matrix:

> t<- matrix(c(1,2,3,4,5,6), ncol=2, nrow=3)


[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6

> dim(t)
[1] 3 2

> t[1,] #row 1


[1] 1 4

> t[,2] #column 2


[1] 4 5 6
Basic commands and operations

Indexing and selecting:

• Matrix:

> t<- matrix(c(1,2,3,4,5,6), ncol=2, nrow=3)


[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6

> dim(t)
[1] 3 2

> t[3,2] #specific cell


[1] 6
Basic commands and operations

Indexing and selecting:

• Matrix:

> t <- matrix(c(1,2,3,4,5,6), ncol=2, nrow=3, dimnames=list(c("Variable_1",


"Variable_2", "Variable_3"), c("factor_1","factor_2")))

factor_1 factor_2
Variable_1 1 4
Variable_2 2 5
Varibale_3 3 6

> t["Variable_3", "factor_2"]


[1] 6
Basic commands and operations Indexing and selecting: Array

> t <- array(1:24,dim = c(4, 3, 2), dimnames = list(c("one", "two",


"three", "four"),c("apple", "orange", "pear"),
c("land", "sea")))

, , land

apple orange pear


one 1 5 9
two 2 6 10
three 3 7 11
four 4 8 12

, , sea

apple orange pear


one 13 17 21
two 14 18 22
three 15 19 23
four 16 20 24
Basic commands and operations Indexing and selecting: Array

> t <- array(1:24,dim = c(4, 3, 2), dimnames = list(c("one", "two",


"three", "four"),c("apple", "orange", "pear"),
c("land", "sea")))

, , land

apple orange pear


one 1 5 9
two 2 6 10 > t[3,1,2]
three 3 7 11 [1] 15
four 4 8 12
> t["two","orange","land"]
, , sea [1] 6

apple orange pear


one 13 17 21
two 14 18 22
three 15 19 23
four 16 20 24
Basic commands and operations

Deleting:

> t<-10:20 #vector

> t
[1] 10 11 12 13 14 15 16 17 18 19 20

> t[-2] #remove element in position number 2


[1] 10 12 13 14 15 16 17 18 19 20

> t1<-t[-2]

> t1
[1] 10 12 13 14 15 16 17 18 19 20
Basic commands and operations

Deleting:

> t<- matrix(c(1,2,3,4,5,6), ncol=3, nrow=2)

> t
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6

> t[-1,] #remove row1


[1] 2 4 6

> t[,-2] #remove col2


[,1] [,2]
[1,] 1 5
[2,] 2 6
Basic commands and operations
Commands/operations:

• paste text strings together;


• append element to vectors;
• operations between vectors and matrices (sum, difference);
• “apply” a specific rule/function to all columns/rows of a matrix;
• match specific elements;
• subset a vector or a matrix;
• …and many more!!
Basic commands and operations
Commands/operations:

• paste text strings together;


• append element to vectors;
• operations between vectors and matrices (sum, difference);
• “apply” a specific rule/function to all columns/rows of a matrix;
• match specific elements;
• subset a vector or a matrix;
• …and many more!!

• “which” element satisfies a specific condition… > t<-10:20 #vector


> t
[1] 10 11 12 13 14 15 16 17 18 19 20

> which(t>15)
[1] 7 8 9 10 11

> t[which(t>15)]
[1] 16 17 18 19 20
Basic commands and operations
Loops and conditional execution

Syntax:

for (variable in sequence) {


statements
}
Basic commands and operations
Loops and conditional execution

Syntax:
> for (i in 1:10) {
for (variable in sequence) { + print(paste("hello to our customer number ",
i, sep=""))
statements
+ }
} [1] "hello to our customer number 1"
> for (i in 1:10) {
[1] "hello to our customer number 2"
+ print(i)
[1] "hello to our customer number 3"
+ }
[1] "hello to our customer number 4"
[1] 1
[1] "hello to our customer number 5"
[1] 2
[1] "hello to our customer number 6"
[1] 3
[1] "hello to our customer number 7"
[1] 4
[1] "hello to our customer number 8"
[1] 5
[1] "hello to our customer number 9"
[1] 6
[1] "hello to our customer number 10"
[1] 7
[1] 8
[1] 9
[1] 10
Basic commands and operations

Loops and conditional execution

Comparison operators
equal: ==
not equal: !=
greater: >
less than: <
greater or equal: >=
less than or equal: <=

Logical operators
and: &
or: |
not: !
Basic commands and operations

Loops and conditional execution

Comparison operators Syntax:


equal: ==
not equal: != If (condition) {
greater: >
less than: < statement
greater or equal: >=
less than or equal: <= } else {

alternative
Logical operators
and: & }
or: |
not: !
Basic commands and operations

Loops and conditional execution


> x<--4
Syntax: > if(x>0){

If (condition) { + print("Positive number")

statement + } else if (x==0) {

} else { + print("Zero")

+ } else {
alternative
+ print("Negative number")
}
+ }

[1] "Negative number”


Basic commands and operations

User-defined functions

myFunction <- function(arg1, arg2,..) {


function_body
}

myFunction(arg1=…, arg2=…)
Basic commands and operations

User-defined functions

myFunction <- function(arg1, arg2,..) { > myvar<-function(x) {


function_body + y<-sum((x-mean(x))^2)/(length(x)-1)
+ return(y)
}
+ }

myFunction(arg1=…, arg2=…) > a<-rnorm(6)

> a
[1] -0.9379583 0.6599282 0.6204624
0.4395611 1.0989696 2.4148308

> var(a)
[1] 1.171392

> myvar(a)
[1] 1.171392
Outline:

• Why R? What can R do?

• Basic commands and operations

• Data analysis in R

• Github and Gitlab


Data analysis in R

• Descriptive Statistics

• Statistical Modeling
• Regressions: Linear and Logistic;
• Time Series;
• …

• Multivariate Functions

• Bayesian statistics

• Machine learning

• Inbuilt Packages, contributed packages


Data analysis in R

Basic statistical analysis


#generate random number form normal distribution
> x<-rnorm(10000,0,1)

#get a summary of the distribution


> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-3.55700 -0.66420 0.00822 0.00131 0.66440 3.90500

> boxplot(x, main="Box plot")


Data analysis in R

Basic statistical analysis


> hist(x, col="blue")
Data analysis in R

Basic statistical analysis


> qqnorm(x)
Data analysis in R

Parallel boxplots
> set.seed(12345)

> weight<-
round(c(rnorm(10,0,1),rnorm(10,2,
1)),3)

> group<-rep(c("ctrl","case"),
each=10)

> mydata<-data.frame(weight,
group)

> plot(weight~group, mydata)


Data analysis in R
weight group
1 0.586 ctrl
Parallel boxplots 2 0.709 ctrl
3 -0.109 ctrl
> set.seed(12345) 4 -0.453 ctrl
5 0.606 ctrl
> weight<- 6 -1.818 ctrl
round(c(rnorm(10,0,1),rnorm(10,2, 7 0.630 ctrl
1)),3) 8 -0.276 ctrl
9 -0.284 ctrl
> group<-rep(c("ctrl","case"), 10 -0.919 ctrl
each=10) 11 1.884 case
12 3.817 case
> mydata<-data.frame(weight, 13 2.371 case
group) 14 2.520 case
15 1.249 case
> plot(weight~group, mydata) 16 2.817 case
17 1.114 case
18 1.668 case
19 3.121 case
20 2.299 case
Data analysis in R
weight group
1 0.586 ctrl
Parallel boxplots 2 0.709 ctrl
3 -0.109 ctrl
4 -0.453 ctrl
5 0.606 ctrl
6 -1.818 ctrl
7 0.630 ctrl
8 -0.276 ctrl
9 -0.284 ctrl
10 -0.919 ctrl
11 1.884 case
12 3.817 case
13 2.371 case
14 2.520 case
15 1.249 case
16 2.817 case
17 1.114 case
18 1.668 case
19 3.121 case
20 2.299 case
Data analysis in R

T-test

> t.test(weight~group, mydata)

Welch Two Sample t-test

data: weight by group


t = 6.5335, df = 17.979, p-value = 3.873e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.640945 3.196655
sample estimates:
mean in group case mean in group ctrl
2.2860 -0.1328
Data analysis in R
A t-test is a linear regression…
> summary(lm(weight~group, mydata))

Call:
lm(formula = weight ~ group, data = mydata)

Residuals:
Min 1Q Median 3Q Max
-1.6852 -0.4560 0.0184 0.7238 1.5310

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.2860 0.2618 8.733 6.89e-08 ***
groupctrl -2.4188 0.3702 -6.534 3.85e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8278 on 18 degrees of freedom


Multiple R-squared: 0.7034, Adjusted R-squared: 0.6869
F-statistic: 42.69 on 1 and 18 DF, p-value: 3.85e-06
Data analysis in R
A t-test is a linear regression…
> summary(lm(weight~group, mydata))

Call:
lm(formula = weight ~ group, data = mydata)

Residuals:
Min 1Q Median 3Q Max
-1.6852 -0.4560 0.0184 0.7238 1.5310

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.2860 0.2618 8.733 6.89e-08 ***
groupctrl -2.4188 0.3702 -6.534 3.85e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8278 on 18 degrees of freedom


Multiple R-squared: 0.7034, Adjusted R-squared: 0.6869
F-statistic: 42.69 on 1 and 18 DF, p-value: 3.85e-06
Data analysis in R
A t-test is a linear regression…
> summary(lm(weight~group, mydata))

Call:
lm(formula = weight ~ group, data = mydata)

Residuals:
Min 1Q Median 3Q Max
-1.6852 -0.4560 0.0184 0.7238 1.5310

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.2860 0.2618 8.733 6.89e-08 ***
groupctrl -2.4188 0.3702 -6.534 3.85e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8278 on 18 degrees of freedom


Multiple R-squared: 0.7034, Adjusted R-squared: 0.6869
F-statistic: 42.69 on 1 and 18 DF, p-value: 3.85e-06
Data analysis in R
A t-test is a linear regression…
> summary(lm(weight~group, mydata))

Call:
lm(formula = weight ~ group, data = mydata)

Residuals:
Min 1Q Median 3Q Max
-1.6852 -0.4560 0.0184 0.7238 1.5310

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.2860 0.2618 8.733 6.89e-08 ***
groupctrl -2.4188 0.3702 -6.534 3.85e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8278 on 18 degrees of freedom


Multiple R-squared: 0.7034, Adjusted R-squared: 0.6869
F-statistic: 42.69 on 1 and 18 DF, p-value: 3.85e-06
Data analysis in R
weight group
1 0.586 ctrl
Parallel boxplots 2 0.709 ctrl
3 -0.109 ctrl
4 -0.453 ctrl
5 0.606 ctrl
6 -1.818 ctrl
7 0.630 ctrl
8 -0.276 ctrl
9 -0.284 ctrl
10 -0.919 ctrl
11 1.884 case
12 3.817 case
13 2.371 case
14 2.520 case
15 1.249 case
16 2.817 case
17 1.114 case
18 1.668 case
19 3.121 case
20 2.299 case
Data analysis in R

• Logistic regression;

• Bayesian analysis (Bayer factor, library(BayesFactor);

• ANOVA;

• Approximate Bayesian Computation (ABC) framework;

• ….
Outline:

• Why R? What can R do?

• Basic commands and operations

• Data analysis in R

• Github and Gitlab


Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”
Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Coding
Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Coding Share
Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Coding Share Review


Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Coding Share Review Improve


Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Updated
Coding Share Review Improve
code
Github and Gitlab

• Github: “GitHub is a development platform inspired by the way you work. From open
source to business, you can host and review code, manage projects, and build software
alongside 31 million developers.”

Updated
Coding Share Review Improve
code
Github and Gitlab
Github and Gitlab
Github and Gitlab

• Gitlab: Github for companies, university group, enterprises

• More interaction between users;


• You can create different projects;
• You can submit issues and assign them to different lab members;
• You can use as lab notebook;
• You can set up mile stones;
• ….
Github and Gitlab
Github and Gitlab
Github and Gitlab

• Github and gitlab…why???

• It helps to promote reproducible science;

• More transparent and clear specifically for data analysis;

• Working together (with other users) helps to improve and grow faster;
Conclusions:

• R is a flexible language for data analysis, summary,


visualisation and modelling;

• R community is vast, lots of support and developers (R


package);

• Sharing code, science reproducibility and help the scientific


community to grow faster;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy