shortscut
Ctrl + Shift + N
: new script
Tab
: auto indent and auto complete
Ctrl + Shift + C
: comment and uncomment
Ctrl + Enter
: run current line
Ctrl + Shift + Enter
: run all lines
Ctrl + A
: select all
Shift + arrow
: select text
Ctrl + D
: delete line
Ctrl + Z
: undo
Ctrl + Shift + Z
: redo
Alt + -
: assign to
Ctrl + I
: auto indent
Ctrl + Shift + A
: auto format
Ctrl + F
: select and replace
Ctrl + Alt + X
: extract function
foundation of syntax
data types
integer double complex character logical
Identifier Rules
a-z A-Z 0-9 _ .
case sensitive
cannot start with number or _
cannot be reserved words
operators
conditional statements
if (condition) {
# do something
} else if (condition) {
# do something
} else {
# do something
}
ifelse(condition, true, false)
switch(expression, case1, case2, case3, ...)
switch(1, "a", "b", "c")
switch("a", a = "a", b = "b", c = "c")
loop statements
for (var in seq) {
# do something
}
while (condition) {
# do something
}
function
function_name <- function(arg1, arg2, ...) {
# do something
return (value)
}
# anonymous function
lapply(seq, function_name(x) {
# do something
return (value)
})
package
-
install.packages("package_name")
: install package
-
library(package_name)
: load package
-
detach("package_name")
: unload package
-
remove.packages("package_name")
: remove package
awesome functions
-
abs(x)
: absolute value
-
sqrt(x)
: square root
-
ceiling(x)
: ceiling
-
floor(x)
: floor
-
trunc(x)
: truncate to integer
-
round(x, digits)
: round to digits
-
signif(x, digits)
: significant digits
-
cos(x) sin(x) tan(x)
: trigonometric functions
-
acos(x) asin(x) atan(x)
: inverse trigonometric functions
-
cosh(x) sinh(x) tanh(x)
: hyperbolic trigonometric functions
-
acosh(x) asinh(x) atanh(x)
: inverse hyperbolic trigonometric functions
-
log(x, base)
: log
-
log(x)
: natural log
-
log10(x)
: log10
-
exp(x)
: exponential
-
mean(x)
: mean
-
median(x)
: median
-
var(x)
: variance
-
sd(x)
: standard deviation
-
mad(x)
: median absolute deviation
-
range(x)
: range
-
min(x)
: minimum
-
max(x)
: maximum
-
sum(x)
: sum
-
diff(x, lag)
: difference between consecutive elements
-
quantile(x, probs)
: quantile of x
-
scale(x, center, scale)
: scale x