Занятие 1

Это пример R Notebook.

x <- 2
print(x)
[1] 2

Новая ячейка

x
[1] 2
for (i in 1:10) {
  print(i ** 2)
}
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36
[1] 49
[1] 64
[1] 81
[1] 100
foo <- function(x) {
  y <- x ** 2
  return(y + x)
  print("Can't be here")
}
foo(4)
[1] 20
bar <- function(x, y=2) {
  x + y * 2
}
bar(2, 3)
[1] 8
bar(y=3, x=10)
[1] 16
x <- 2
if (x == 2) {
  print("x == 2")
} else {
  print("x != 2")
}
[1] "x == 2"
x <- 3
if (x == 1) {
  print("x == 1")
} else if (x == 2) {
  print("x == 2")
} else if (x == 17) {
  print("x == 17")
} else {
  print("x is strange")
}
[1] "x is strange"
my_list <- list(x=2, y="Hello", z=c(1, 2))
my_list
$`x`
[1] 2

$y
[1] "Hello"

$z
[1] 1 2
my_list$z
[1] 1 2
my_list[['z']]
[1] 1 2
my_list[c('x', 'y')]
$`x`
[1] 2

$y
[1] "Hello"
numbers <- list(10, 20, 30)
numbers
[[1]]
[1] 10

[[2]]
[1] 20

[[3]]
[1] 30
numbers[[2]]
[1] 20
v <- c(1, 2, 3)
x <- as.list(v)
x
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3
x <- as.numeric("123")
x + 1
[1] 124
class("12")
[1] "character"
class(12)
[1] "numeric"
as.numeric(list(1, 2, 3))
[1] 1 2 3
dat <- data.frame(x=c(1, 2, 3),
                  y=c(10, 20, 30),
                  s=c('a', 'b', 'a'))
dat
dat$s
[1] a b a
Levels: a b
class(dat)
[1] "data.frame"
dat[1,]
dat[,1]
[1] 1 2 3
summary(dat)
       x             y      s    
 Min.   :1.0   Min.   :10   a:2  
 1st Qu.:1.5   1st Qu.:15   b:1  
 Median :2.0   Median :20        
 Mean   :2.0   Mean   :20        
 3rd Qu.:2.5   3rd Qu.:25        
 Max.   :3.0   Max.   :30        
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQogIHdvcmRfZG9jdW1lbnQ6IGRlZmF1bHQNCi0tLQ0KDQojIyDQl9Cw0L3Rj9GC0LjQtSAxDQrQrdGC0L4g0L/RgNC40LzQtdGAICpSIE5vdGVib29rKi4NCg0KYGBge3J9DQp4IDwtIDINCnByaW50KHgpDQpgYGANCtCd0L7QstCw0Y8g0Y/Rh9C10LnQutCwDQoNCmBgYHtyfQ0KeA0KYGBgDQoNCmBgYHtyfQ0KZm9yIChpIGluIDE6MTApIHsNCiAgcHJpbnQoaSAqKiAyKQ0KfQ0KYGBgDQoNCmBgYHtyfQ0KZm9vIDwtIGZ1bmN0aW9uKHgpIHsNCiAgeSA8LSB4ICoqIDINCiAgcmV0dXJuKHkgKyB4KQ0KICBwcmludCgiQ2FuJ3QgYmUgaGVyZSIpDQp9DQpgYGANCg0KYGBge3J9DQpmb28oNCkNCmBgYA0KDQpgYGB7cn0NCmJhciA8LSBmdW5jdGlvbih4LCB5PTIpIHsNCiAgeCArIHkgKiAyDQp9DQpgYGANCg0KYGBge3J9DQpiYXIoMiwgMykNCmBgYA0KDQpgYGB7cn0NCmJhcih5PTMsIHg9MTApDQpgYGANCg0KYGBge3J9DQp4IDwtIDINCmlmICh4ID09IDIpIHsNCiAgcHJpbnQoInggPT0gMiIpDQp9IGVsc2Ugew0KICBwcmludCgieCAhPSAyIikNCn0NCmBgYA0KDQpgYGB7cn0NCnggPC0gMw0KaWYgKHggPT0gMSkgew0KICBwcmludCgieCA9PSAxIikNCn0gZWxzZSBpZiAoeCA9PSAyKSB7DQogIHByaW50KCJ4ID09IDIiKQ0KfSBlbHNlIGlmICh4ID09IDE3KSB7DQogIHByaW50KCJ4ID09IDE3IikNCn0gZWxzZSB7DQogIHByaW50KCJ4IGlzIHN0cmFuZ2UiKQ0KfQ0KYGBgDQoNCmBgYHtyfQ0KbXlfbGlzdCA8LSBsaXN0KHg9MiwgeT0iSGVsbG8iLCB6PWMoMSwgMikpDQpteV9saXN0DQpgYGANCg0KYGBge3J9DQpteV9saXN0JHoNCmBgYA0KYGBge3J9DQpteV9saXN0W1sneiddXQ0KYGBgDQoNCmBgYHtyfQ0KbXlfbGlzdFtjKCd4JywgJ3knKV0NCmBgYA0KDQpgYGB7cn0NCm51bWJlcnMgPC0gbGlzdCgxMCwgMjAsIDMwKQ0KbnVtYmVycw0KYGBgDQpgYGB7cn0NCm51bWJlcnNbWzJdXQ0KYGBgDQoNCmBgYHtyfQ0KdiA8LSBjKDEsIDIsIDMpDQp4IDwtIGFzLmxpc3QodikNCngNCmBgYA0KDQpgYGB7cn0NCnggPC0gYXMubnVtZXJpYygiMTIzIikNCnggKyAxDQpgYGANCg0KYGBge3J9DQpjbGFzcygiMTIiKQ0KYGBgDQoNCmBgYHtyfQ0KY2xhc3MoMTIpDQpgYGANCmBgYHtyfQ0KYXMubnVtZXJpYyhsaXN0KDEsIDIsIDMpKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0IDwtIGRhdGEuZnJhbWUoeD1jKDEsIDIsIDMpLA0KICAgICAgICAgICAgICAgICAgeT1jKDEwLCAyMCwgMzApLA0KICAgICAgICAgICAgICAgICAgcz1jKCdhJywgJ2InLCAnYScpKQ0KYGBgDQoNCmBgYHtyfQ0KZGF0DQpgYGANCg0KYGBge3J9DQpkYXQkcw0KYGBgDQpgYGB7cn0NCmNsYXNzKGRhdCkNCmBgYA0KYGBge3J9DQpkYXRbMSxdDQpgYGANCg0KYGBge3J9DQpkYXRbLDFdDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KGRhdCkNCmBgYA==