Introduction to R
R as a programming language.
Getting started with R in a few steps
Arithmetrics with R
- Basic arithmetic operations:
+
(addition), -
(substraction), *
(multiplication), /
(division), ^
(exponentiation)
3+5
[1] 8
14/2
[1] 7
- Basic arithmetic functions
- logarithmus and exponentials:
log2(x), log10(x), exp(x)
- Others:
abs(x)
, sqrt(x)
log2(6)
[1] 2.584963
sqrt(36)
[1] 6
Getting help
?sqrt
Parameter (參數) 與 Argument (引數).
- argument: 【呼叫者】傳給【被呼叫者】的「值」(value)
- parameter: 【被呼叫者】用來接收【呼叫者】傳來引數的「變數」(variable)
自然語言亂入:欸()
, 叫(x, num, pitch)
.
叫(啊, num = 3, pitch = 'high')
head(cars, n=10)
Data types
- Basic data types: numeric, character, logical
- Supported data structure: vector, matrix, factor, data frame
Variable and value assignment 變數與賦值 <-
# numeric variable
my_age <- 40
# character variable
my_name <- "shukai"
# logical variable (e.g., are you a student?) y/n
is_student <- TRUE
Install packages
#install.packages("tidyverse")
#install.packages(c("quantmod", "dygraphs"))
library(quantmod)
Loading required package: xts
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: TTR
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
library(dygraphs)
Registered S3 method overwritten by 'htmlwidgets':
method from
print.htmlwidget tools:rstudio
- Let’s check Google stock since the 2008
g_stock_prices <- getSymbols("GOOG", src = "yahoo", from = "2008-01-01", auto.assign = FALSE)
‘getSymbols’ currently uses auto.assign=TRUE by default, but will
use auto.assign=FALSE in 0.5-0. You will still be able to use
‘loadSymbols’ to automatically load data. getOption("getSymbols.env")
and getOption("getSymbols.auto.assign") will still be checked for
alternate defaults.
This message is shown once per session and may be disabled by setting
options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details.
chartSeries(g_stock_prices)

dygraph(g_stock_prices[,c("GOOG.Close")], main = "Google Stock Price Starting in 2008")
NA
LS0tCnRpdGxlOiAiV2Vlay4yIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIEludHJvZHVjdGlvbiB0byBSCgpSIGFzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuCgojIEdldHRpbmcgc3RhcnRlZCB3aXRoIFIgaW4gYSBmZXcgc3RlcHMKCi0gdHJ5IG91dCB0aGUgY29uc29sZQoKIyMgQXJpdGhtZXRyaWNzIHdpdGggUiAKCi0gQmFzaWMgYXJpdGhtZXRpYyBvcGVyYXRpb25z77yaYCtgIChhZGRpdGlvbiksIGAtYCAoc3Vic3RyYWN0aW9uKSwgYCpgIChtdWx0aXBsaWNhdGlvbiksIGAvYCAoZGl2aXNpb24pLCBgXmAgKGV4cG9uZW50aWF0aW9uKQoKYGBge3J9CjMrNQoxNC8yCmBgYAoKLSBCYXNpYyBhcml0aG1ldGljICoqZnVuY3Rpb25zKioKICAgIC0gbG9nYXJpdGhtdXMgYW5kIGV4cG9uZW50aWFsczogYGxvZzIoeCksIGxvZzEwKHgpLCBleHAoeClgCiAgICAtIE90aGVyczogYGFicyh4KWAsIGBzcXJ0KHgpYAoKYGBge3J9ICAKbG9nMig2KSAgCnNxcnQoMzYpCmBgYAo+IEdldHRpbmcgaGVscAoKYGBge3J9Cj9zcXJ0CmBgYAoKCiMjIFBhcmFtZXRlciAo5Y+D5pW4KSDoiIcgQXJndW1lbnQgKOW8leaVuCkuIAogIC0gYXJndW1lbnQ6IOOAkOWRvOWPq+iAheOAkeWCs+e1puOAkOiiq+WRvOWPq+iAheOAkeeahOOAjOWAvOOAjSh2YWx1ZSkKICAtIHBhcmFtZXRlcjog44CQ6KKr5ZG85Y+r6ICF44CR55So5L6G5o6l5pS244CQ5ZG85Y+r6ICF44CR5YKz5L6G5byV5pW455qE44CM6K6K5pW444CNKHZhcmlhYmxlKQoK6Ieq54S26Kqe6KiA5LqC5YWl77yaYOasuCgpYCwgYOWPqyh4LCBudW0sIHBpdGNoKWAuIAoKCj4gYOWPqyjllYosIG51bSA9IDMsIHBpdGNoID0gJ2hpZ2gnKWAKCgpgYGB7cn0KaGVhZChjYXJzLCBuPTEwKQoKYGBgCgoKIyBEYXRhIHR5cGVzCgotIEJhc2ljICpkYXRhIHR5cGVzKjogKipudW1lcmljLCBjaGFyYWN0ZXIsIGxvZ2ljYWwqKgotIFN1cHBvcnRlZCAqZGF0YSBzdHJ1Y3R1cmUqOiAqKnZlY3RvciwgbWF0cml4LCBmYWN0b3IsIGRhdGEgZnJhbWUqKiAKCgoKCiMgVmFyaWFibGUgYW5kIHZhbHVlIGFzc2lnbm1lbnQg6K6K5pW46IiH6LOm5YC8IGA8LWAKCmBgYHtyfQojIG51bWVyaWMgdmFyaWFibGUKbXlfYWdlIDwtIDQwCiMgY2hhcmFjdGVyIHZhcmlhYmxlCm15X25hbWUgPC0gInNodWthaSIKIyBsb2dpY2FsIHZhcmlhYmxlIChlLmcuLCBhcmUgeW91IGEgc3R1ZGVudD8pIHkvbgppc19zdHVkZW50IDwtIFRSVUUKYGBgCgoKCiMgSW5zdGFsbCBwYWNrYWdlcwoKYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQpgYGAKCgoKYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKGMoInF1YW50bW9kIiwgImR5Z3JhcGhzIikpCgpgYGAKCgpgYGB7cn0KbGlicmFyeShxdWFudG1vZCkKbGlicmFyeShkeWdyYXBocykKYGBgCgotIExldCdzIGNoZWNrIEdvb2dsZSBzdG9jayBzaW5jZSB0aGUgMjAwOAoKYGBge3J9Cmdfc3RvY2tfcHJpY2VzIDwtIGdldFN5bWJvbHMoIkdPT0ciLCBzcmMgPSAieWFob28iLCBmcm9tID0gIjIwMDgtMDEtMDEiLCBhdXRvLmFzc2lnbiA9IEZBTFNFKQpjaGFydFNlcmllcyhnX3N0b2NrX3ByaWNlcykKYGBgCgpgYGB7cn0KZHlncmFwaChnX3N0b2NrX3ByaWNlc1ssYygiR09PRy5DbG9zZSIpXSwgbWFpbiA9ICJHb29nbGUgU3RvY2sgUHJpY2UgU3RhcnRpbmcgaW4gMjAwOCIpCgpgYGAK