NIA R Tutorial

Hilfe

Befehle nachschlagen


In [1]:
?runif

Freitextsuche


In [2]:
??"Cumulative Distribution Function"


Pakete

Laden:


In [3]:
library(ggplot2)


Error in library(ggplot2): there is no package called ‘ggplot2’
Traceback:

1. library(ggplot2)
2. stop(txt, domain = NA)

Installieren


In [4]:
#install.packages("name")

Variables und Operationen

Zuweisungen


In [5]:
variable1 <- 1
print(variable1)


[1] 1

Auch Datenvektoren


In [6]:
variable.zwei <- c(1, 2, 2.5, 100)
print(variable.zwei)


[1]   1.0   2.0   2.5 100.0

Erzeugung von Vektoren


In [7]:
v.drei <- 1:10

In [8]:
v4 <- seq(1, 10, 0.5)

In [9]:
c(v.drei, 1, 0, v4)


  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 1
  12. 0
  13. 1
  14. 1.5
  15. 2
  16. 2.5
  17. 3
  18. 3.5
  19. 4
  20. 4.5
  21. 5
  22. 5.5
  23. 6
  24. 6.5
  25. 7
  26. 7.5
  27. 8
  28. 8.5
  29. 9
  30. 9.5
  31. 10

In [10]:
rep(v4, times = 3)


  1. 1
  2. 1.5
  3. 2
  4. 2.5
  5. 3
  6. 3.5
  7. 4
  8. 4.5
  9. 5
  10. 5.5
  11. 6
  12. 6.5
  13. 7
  14. 7.5
  15. 8
  16. 8.5
  17. 9
  18. 9.5
  19. 10
  20. 1
  21. 1.5
  22. 2
  23. 2.5
  24. 3
  25. 3.5
  26. 4
  27. 4.5
  28. 5
  29. 5.5
  30. 6
  31. 6.5
  32. 7
  33. 7.5
  34. 8
  35. 8.5
  36. 9
  37. 9.5
  38. 10
  39. 1
  40. 1.5
  41. 2
  42. 2.5
  43. 3
  44. 3.5
  45. 4
  46. 4.5
  47. 5
  48. 5.5
  49. 6
  50. 6.5
  51. 7
  52. 7.5
  53. 8
  54. 8.5
  55. 9
  56. 9.5
  57. 10

Arithmetische Operationen


In [11]:
1 + 1


2

In [12]:
1 - 1


0

In [13]:
1 * 2


2

In [14]:
1 / 2


0.5

In [15]:
2 ** 2


4

In [16]:
2 ^ 2


4

In [17]:
sqrt(2)


1.4142135623731

In [18]:
sin(2)


0.909297426825682

In [19]:
cos(2)


-0.416146836547142

In [20]:
1:12 %% 2 # Modulo


  1. 1
  2. 0
  3. 1
  4. 0
  5. 1
  6. 0
  7. 1
  8. 0
  9. 1
  10. 0
  11. 1
  12. 0

In [21]:
1:12 %/% 5 # Ganzzahlige Division


  1. 0
  2. 0
  3. 0
  4. 0
  5. 1
  6. 1
  7. 1
  8. 1
  9. 1
  10. 2
  11. 2
  12. 2

In [22]:
# Kommentare

Sonderwerte


In [23]:
0/0


NaN

In [24]:
x <- NA # missing value
is.na(x)


TRUE

Sitzungsverwaltung


In [25]:
objects()


  1. 'v4'
  2. 'variable1'
  3. 'variable.zwei'
  4. 'v.drei'
  5. 'x'

In [26]:
ls()


  1. 'v4'
  2. 'variable1'
  3. 'variable.zwei'
  4. 'v.drei'
  5. 'x'

In [27]:
rm(v.drei)
rm(list=ls())

Vektoroperationen

Alle Operationen arbeiten auch auf Vektoren:


In [28]:
(1:3) ** 2


  1. 1
  2. 4
  3. 9

Nullvektor


In [29]:
x <- c()
print(x)


NULL

Explizite Erstellung


In [30]:
vector(mode="numeric")



In [31]:
numeric(0)


Logische Operationen


In [32]:
(1:5) > 2


  1. FALSE
  2. FALSE
  3. TRUE
  4. TRUE
  5. TRUE

In [33]:
1 == 2


FALSE

Vektoraddition


In [34]:
(1:4) + (4:1)


  1. 5
  2. 5
  3. 5
  4. 5

In [35]:
(1:4) + (1:2)


  1. 2
  2. 4
  3. 4
  4. 6

Skalarprodukt/Kreuzprodukt


In [36]:
crossprod((1:3), (1:3))


14

In [37]:
(1:3) %*% (1:3)


14

Beispiele weiterer Operationen


In [38]:
min(runif(n = 10))


0.102437991881743

In [39]:
# maximale Ergebnis aus drei Wuerfelwuerfen mit einem 
# sechseitigen Wuerfel
max(sample(x = 1:6, replace = TRUE, size=3))


5

In [40]:
sum(1:10)


55

In [41]:
cumsum(1:10) # Kumulative Summe


  1. 1
  2. 3
  3. 6
  4. 10
  5. 15
  6. 21
  7. 28
  8. 36
  9. 45
  10. 55

In [42]:
sort(sample(x = 1:6, replace = FALSE, size=6), decreasing = TRUE)


  1. 6
  2. 5
  3. 4
  4. 3
  5. 2
  6. 1

In [43]:
mean(1:10) # Mittelwert


5.5

In [44]:
var(runif(1000)) # Varianz


0.0816940120134945

In [45]:
floor(c(1, 1.5, 2.3, 4.1))


  1. 1
  2. 1
  3. 2
  4. 4

In [46]:
ceiling(pi)


4

Aufgabe 1

Berechne $\overline{[1;\lfloor \sqrt{1000} \rfloor]}$


In [47]:
mean((1:floor(sqrt(1000)))**2)


336