1. Input and Evaluation
assign: x<-1 x<-0:6
comment: # x
print: print(x)
2. Objects and Attributes
objects:
- character
- numeric
- integer
- complex
- logical
vector- objects of same classes: x <- c(0.5, 0.6) x <- vector('numeric', 10) as.logical(x)
#mixing objects will be automatically changed
list- objects of different classes: x <- list(1, "a", TRUE, 1+4i)
Numbers:
-L: integer
-Inf : Infinite
-NaN: undefined
R objects have attributes
3. Matrices
Vectors with a dimension attribute
m <- matrix(nrow = 2, ncol =3)
m <- matrix(1:6, nrow = 2, ncol =3)
m<-1:10 dim(m) <- c(2,5)
x <- 1:3 y <- 10:12
cbind(x,y)
rbind(x,y)
4. Factors
Represent categorical data(can be unordered or ordered)
Like each integer has a label
x <- factor(c('x','y','x', 'y', 'x')
x <- factor(c("yes","yes","no"), levels =c("yes","no"))
5. Missing Values
is.na()
is.nan()
NaN is also NA but the converse is not true
6. Data Frames
List with dimension
Tabular data
Has row.names
read.table(), read.csv()
data.matrix()
x <- data.frame(foo=1:4, bar=c(T,T,F,F))
7. Names Attributes
Assign name attributes to the value