▶️ Tematyka

  • Początek pracy z programem R
    • Pomoc w programie R
    • Instalacja i ładowanie pakietów
    • Symbol Newtona
    • Zaokrąglenia liczb
    • Przypisanie wartości do zmiennych
    • Lista nazw zmiennych
  • Typy obiektów
    • Typ liczbowy
    • Typ znakowy
    • Typ logiczny
  • Operatory logiczne
    • Alternatywa
    • Koniunkcja
    • Wybrane operacje logiczne
  • Klasy obiektów
  • Wektory


📘 Początek pracy z programem R

# To jest komentarz. Komentarze rozpoczynamy znakiem #
## tak oznaczane będą wyniki wykonanych poleceń

Wypisanie liczb od 1 do 10 z odstępem co 1

1:10 
##  [1]  1  2  3  4  5  6  7  8  9 10
# Ctrl+R - wykonanie kodu z edytora R

Pomoc w programie R (przykład)

?plot
## uruchamianie serwera httpd dla pomocy ... wykonano

❕ Załadowanie pakietu ggplot2

# install.packages("ggplot2")
# można też zapisać
# install.packages('ggplot2')
library(ggplot2)
## Warning: pakiet 'ggplot2' został zbudowany w wersji R 4.2.3
# ls('package:ggplot2')

R jako kalukulator

2+2
## [1] 4
20-2
## [1] 18
6*7
## [1] 42
30/5 
## [1] 6
# 30\5 błąd, bo ukośnik jest w przeciwną stronę

2^5
## [1] 32
sqrt(4)
## [1] 2
log(12)
## [1] 2.484907
log(16,2)
## [1] 4
pi
## [1] 3.141593
sin(pi)
## [1] 1.224606e-16

Symbol Newtona

choose(4,1)
## [1] 4

Zaokrglenia liczb

round(2.4347247)
## [1] 2
round(2.55)
## [1] 3
round(2.4347247,digits=2)
## [1] 2.43

Przypisywanie wartości do zmiennych

x=7
x
## [1] 7
print(x)
## [1] 7
y<-10
y
## [1] 10
z=x*y
z
## [1] 70
z=x+y
z
## [1] 17
x;y;z
## [1] 7
## [1] 10
## [1] 17

Lista nazw zmiennych

ls()
## [1] "x" "y" "z"
rm(z)
ls()
## [1] "x" "y"
rm(list=ls())
ls()
## character(0)

📘 Typy obiektów

Typ liczbowy

n1=2.4535
n1
## [1] 2.4535
print(n1,3) #wyświetlenie 3 cyfr znaczących (ostatni element jest zaokrąglany)
## [1] 2.45
round(n1,3)
## [1] 2.454

Typ znakowy

t1="Patrycja"
t1
## [1] "Patrycja"
t2='Dawid'
t2
## [1] "Dawid"
print(t2,quote=FALSE)
## [1] Dawid
t3="to jest pies"

sub("pies","kot",t3)
## [1] "to jest kot"
paste(t1,"i",t2)
## [1] "Patrycja i Dawid"
substr(t3,9,12) #wyodrębnianie tekstu - od 9 znaku do 12
## [1] "pies"

Typ logiczny

l1=TRUE
l2=T
l3=FALSE
F
## [1] FALSE

📘 Operatory logiczne

Alternatywa (lub)

l1|l3
## [1] TRUE

Koniunkcja (i)

l1&l3
## [1] FALSE

Zaprzeczenie

!l1
## [1] FALSE

Wybrane operacje logiczne

1==1
## [1] TRUE
2>3
## [1] FALSE
25<=25
## [1] TRUE
23>=7
## [1] TRUE
(12>2)&(15==12)
## [1] FALSE
(sqrt(159)==13)&(7^5>252)
## [1] FALSE

📘 Klasy obiektów

class(t1)
## [1] "character"
class(n1)
## [1] "numeric"
identical(t1,n1)
## [1] FALSE
ls()
## [1] "l1" "l2" "l3" "n1" "t1" "t2" "t3"
ls.str()
## l1 :  logi TRUE
## l2 :  logi TRUE
## l3 :  logi FALSE
## n1 :  num 2.45
## t1 :  chr "Patrycja"
## t2 :  chr "Dawid"
## t3 :  chr "to jest pies"
is.logical(t1)
## [1] FALSE
is.numeric(t1)
## [1] FALSE
is.character(t1)
## [1] TRUE
is.matrix(t1)
## [1] FALSE

📘 Wektory

w1=c(10,9,8,7,6,5)
w1
## [1] 10  9  8  7  6  5
w2=c(T,T,F,F)
w2
## [1]  TRUE  TRUE FALSE FALSE
w3=c("Dawid","Wojtek","Robert","Kuba","Klaudia","Luiza")
w3
## [1] "Dawid"   "Wojtek"  "Robert"  "Kuba"    "Klaudia" "Luiza"
1:10
##  [1]  1  2  3  4  5  6  7  8  9 10
10:1
##  [1] 10  9  8  7  6  5  4  3  2  1
1.2:20.2
##  [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
## [16] 16.2 17.2 18.2 19.2 20.2
1.2:20.3
##  [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
## [16] 16.2 17.2 18.2 19.2 20.2
1.2:20.1
##  [1]  1.2  2.2  3.2  4.2  5.2  6.2  7.2  8.2  9.2 10.2 11.2 12.2 13.2 14.2 15.2
## [16] 16.2 17.2 18.2 19.2
# ?seq
seq(16,30,3)
## [1] 16 19 22 25 28
seq(to=30,by=3,from=16)
## [1] 16 19 22 25 28
w4=seq(to=30,from=16,3)
w4
## [1] 16 19 22 25 28
w5=c(23,23,1,2,3,1)

ls()
##  [1] "l1" "l2" "l3" "n1" "t1" "t2" "t3" "w1" "w2" "w3" "w4" "w5"
# w1 + w3
w1;w3
## [1] 10  9  8  7  6  5
## [1] "Dawid"   "Wojtek"  "Robert"  "Kuba"    "Klaudia" "Luiza"
w1+w5
## [1] 33 32  9  9  9  6
w1*w5
## [1] 230 207   8  14  18   5
w6=seq(7,10,length=10)
w6
##  [1]  7.000000  7.333333  7.666667  8.000000  8.333333  8.666667  9.000000
##  [8]  9.333333  9.666667 10.000000
length(w6)
## [1] 10
any(w6<0)
## [1] FALSE
any(w6>0)
## [1] TRUE
w6>0
##  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
all(w1==w3)
## [1] FALSE