## RGL

RGL is a package in which functions for performing three-dimensional plotting are condensed. Three-dimensional plots can be created, and the plotted figures can be moved with the mouse, and enlargement / reduction can be performed.

Here is an example of the instructions from installing the package to displaying example. After plotting, you can rotate the figure by moving the mouse while holding the figure with the left click, or zoom in and out of the figure by turning the mouse wheel.

```install.packages("rgl")
library(rgl)
open3d()
example(rgl.surface)
for(i in 1:360) rgl.viewpoint(i, 1/4)
```
Posted on Categories R

## ggplot2

```> library(ggplot2)
> names(faithful)
 "eruptions" "waiting"
> plot(faithful\$eruptions, xlab = "sample number", ylab = "eruption times (min)", main = "Old Faithful Eruption Times")
``` ```qplot(x = waiting,
data = faithful,
binwindth = 3,
main = "Waiting time to next eruption(min)")
ggplot(faithful, aes(x = waiting)) +
geom_histogram(bindwidth = 1)
```

> names(mtcars)
 “mpg” “cyl” “disp” “hp” “drat” “wt” “qsec” “vs” “am” “gear”
 “carb”

Posted on Categories R

## Basic syntax

```a = 3.2
a = "a string"
print("The variable 'a' stores:"); print(a)

a = 10; b = 5; c = 1
if (a < b){
d = 1
}else if (a == b){
d = 2
}else{
d = 3
}
d
stopifnot(d==3)

sum = 0
i = 1
while(i <= 10){
sum = sum + i
i = i + 1
}
stopifnot(sum==55)

mySum = function(a,b){
return(a + b)
}
```
```x = vector(length=3, mode="numeric")

y = c(4,3,3)

stopifnot( x == c(0,0,0))

stopifnot(length(y) == 3)

x = 2
x = 1
stopifnot( x == c(2,0,1) )

a = 2*x + y
stopifnot( a == c(8,3,4) )

a = a - 1
stopifnot( a == c(7,2,3) )

stopifnot( (a>=7) == c(TRUE,FALSE,FALSE))
stopifnot( (a==2) == c(FALSE,TRUE,FALSE))

indices = c(1,3)
stopifnot( a[indices] == c(7,3))

stopifnot( a[c(-1,-3)] == c(2) )

stopifnot( any(c(FALSE,TRUE,FALSE)) )
stopifnot( all(c(TRUE,TRUE,TRUE)) )
stopifnot( which(c(TRUE,FALSE,TRUE)) == c(1,3) )

b = rep(3.2, times=5)
stopifnot( b == c(3.2, 3.2, 3.2, 3.2, 3.2))

w = seq(0,3)
stopifnot(w == c(0,1,2,3))

x = seq(0,1,by=0.2)
stopifnot(x == c(0.0, 0.2, 0.4, 0.6, 0.8, 1.0))

y = seq(0,1,length.out=3)
stopifnot( x == c(0.0, 0.5, 1.0) )

z = 1:10
stopifnot(z == seq(1,10,by=1))

sum = 0
for(i in z){
sum = sum + i
}
stopifnot(sum == 55)

x = 1:10
f = function(a){
a = 10
}
f(x)
stopifnot(x == 1:10)
```
Posted on Categories R

## Manipulating Array

[,1][.2]
y `= [,1] 1 5
[,2] 2 6

2 * y + 1
y `= [,1] 3 11
[,2] 5 13

y %*% Y
y `= [,1] 11 35
[,2] 14 46

outer(x[,1], x[,1])
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20

rbind(x[1,], x[1,])
rbindは縦に結合
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 1 5 9 13 17

cbind(x[1,], x[1,])

L = list(name = ‘John’, age=55, no.children=2, children.ages = c(15, 18))
names(L) name age no.children children.ages
L[] 55
L\$name John
L[‘name’] John
L\$children.ages
L[]

names(R) = c(“NAME”, “AGE”, “SALARY”)

if-Else

```a = 10; b = 5; c = 1
if (a < b){
d = 1
} else if (a == b){
d = 2
} else {
d = 3
}
print(d)
```

R for loop

```total = function(n){
sum = 0
for(i in 1:100){
sum = sum + i
}

print(sum)
return(sum)
}
total(100)
```
```total = function(n){
sum = 5050
num = n
repeat {
sum = sum - num
num = num - 1
if(sum == 0)break
}
return(sum)
}
```
```total = function(){
sum = 0
a = 1
b = 10

while (a
```
Posted on Categories R

## R command

ls() – list variable names in workspace memory
save.image(file=”R_workspace”) – saving variables to a file
save(new.var, legal.var.name, file = “R_workspace”) – save specified variables
system(“ls -al”) – executes a command in the shell, for example ls -al

scalar
numeric, integer, logical

ordered factor

```current.season = factor("summer", levels = c("summer", "fall", "winter", "spring"), ordered = TRUE)
```

x = c(4,3,3,4,3,1)
outcome: 433431
length(x)
outcome: length = 6
y = vector(mode=”logical”, length=4)
outocome: y= FALSE FALSE FALSE FALSE
z = vector(length=3, mode==”numeric”)
outcome: z = 0 0 0

q = rep(3.2, times = 10)
q = 3.2 3.2 3.2 3.2 3.2 3.2 3.2 3.2 3.2 3.2
w = seq(0, 1 by=0.1)
w – 0.0 0.1 0.2 … 0.9 1.0
w = seq(0, 1, length.out 11)

w <= 0.5 0.0 0.1 0.2 0.3 0.4 0.5 any(w <= 0.5) TRUE all(w <= 0.5) FALSE which(w <= 0.5) 1 2 3 4 5 6

Posted on Categories R

## List of DataSet

```> data(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> levels(iris\$Species)
 "setosa"     "versicolor" "virginica"
```
```> install.packages("ggplot2")
```

R: statistics, bio-statistics, social sciences
Matlab: engineering, applied math
python: web development, scripting

Running R – interactively

```source("foo.R")
R CMD BATCH foo.R
Rscript foo.R
```

R Help documentation
>help {utils}
R Documentation
Documentation
Description
help is the primary interface to the help systems.
Usage
help(topic, package = NULL, lib.loc = NULL,
verbose = getOption(“verbose”),
try.all.packages = getOption(“help.try.all.packages”),
help_type = getOption(“help_type”))….

Posted on Categories R

## Alpha and Jitter

```'''(r)
ggplot(aes(x = age, y = friends_initiated), data = pf)
geom_point(alpha = 1/10, position = 'jitter')
'''
```
```age_groups <- group_by(pf, age)
pf.fc_by_age <- summarise(age_groups,
friend_count_mean = mean(friend_count),
friend_count_median = median(friend_count),
n = n())
pf.fc_by_age <- arrange(pf.fc_by_age, age)
```
Posted on Categories R

## Explore Variables

Scatterplots ```'''(r)
library(ggplot2)

qplot(x = age, y = friend_count, data = pf)
qplot(age, friend_count, data = pf)
'''
```
```'''(r)
qplot(x = age, y = friend_count, data = pf)

ggplot(aes(x = age, y= friend_count), data = pf) + geom_point()

summary(pf\$age)
'''
```
```'''(r)
ggplot(aes(x = age, y = friend_count),data = pf)+
geom_point(alpha = 1/20) + xlim(13, 90)
'''
```
Posted on Categories R

## Histogram of Users’ birth

```'''(r)
install.packages('ggplot2')

names(pf)
qplot(x -dob_day, data - pf)
'''
```
```'''(r)
qplot(x - friend_count, data - pf)
'''
```
```'''(r)
qplot(x - friend_count, data - pf, xlim - c(0, 1000))

qplot(x - friend_count, data_pf) +
scale_x_continuous(limits - c(0, 1000))
'''
```
Posted on Categories R

## R Markdown Documents

```'''{r}
# the hash or pound symbol inside the block creates
# a comment. These three lines of are not code and cannot be
x <- [1:10]
mean(x)
'''
```
```a <- c(1,2,5.3,6,-2,4) # numeric vector
b <- c("one","two","three") # character vector
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #logical vector
```
```reddit <- read.csv('reddit.csv')

table(reddit\$employment)

str(reddit)
levels(reddit\$age.range)

library(ggplot2)
qplot(data = reddit, x = age.range)
```
Posted on Categories R