You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: inst/tutorials/2a_vektoren/vl2_a_vektoren.Rmd
+31-7Lines changed: 31 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -663,14 +663,26 @@ id + 1
663
663
# ohne die Anführungszeichen kann der Text als Zahl erkannt werden.
664
664
```
665
665
666
-
## Typen
666
+
## Datentypen
667
667
668
-
Als nächstes schauen wir uns die Typen und Klassen von Daten etwas genauer an.
668
+
### Unterscheidung Typ und Klasse
669
+
670
+
Als nächstes schauen wir uns die Typen und Klassen von Objekten in R etwas genauer an.
671
+
672
+
::: infobox
673
+
674
+
**Kurzzusammenfassung**
675
+
676
+
Der **Datentyp** kategorisiert die Objekte nach der Art und Weise, wie sie im Computer gespeichert werden. Also z.B. ob es Text ist, Dezimalzahlen, oder ganze Zahlen. Ein Vektor kann immer nur Daten des gleichen Typs enthalten.
677
+
678
+
Die **Klasse** eines Objekts hingegen sagt R, wie es damit umgehen soll. Also welche Operationen erlaubt sind. Beispielsweise, dass auf ein Objekt der Klasse "Text" die Methode "Multiplikation" nicht angewandt werden kann, die Methode "zähle die Wörter" aber schon. Teilweise überschneiden sich Datentyp und Klasse. Aber: Es gibt unbegrenzt viele Klassen, jedoch nur eine kleine, feste Anzahl an Datentypen (6 Stück).
679
+
Ein Objekt kann auch mehrere Klassen haben, während es nur ein einziger Datentyp gleichzeitig sein kann. Es gibt unbegrenzt viele Klassen, weil Programmierer\*innen jederzeit neue Klassen erfinden können.
669
680
670
681
Auf dem Level, auf dem wir R nutzen ist die ganz genaue Unterscheidung zwischen Typen und Klassen nicht notwendig. Nur gut, es einfach schonal gehört zu haben, da hier manchmal Probleme auftauchen die sich dann meist relativ einfach lösen lassen.
671
682
683
+
:::
672
684
673
-
### Typen
685
+
### Die verschiedenen Datentypen
674
686
675
687
676
688
Es gibt *atomic vectors* in insgesamt sechs Datentypen, von denen wir aber nur vier wirklich verwenden. Aber damit du es einmal gesehen hast, werden der Vollständigkeit halber einmal alle gezeigt.
@@ -682,18 +694,16 @@ Es gibt *atomic vectors* in insgesamt sechs Datentypen, von denen wir aber nur v
682
694
5. (complex)
683
695
6. (raw)
684
696
685
-
R sagt dir, mit welchem Datentyp du es zu tun hast wenn du `typeof(x)` eingibst (siehe unten).
697
+
R sagt dir, welchen **Datentyp** ein Objekt `x` hat, wenn du `typeof(x)` eingibst (siehe unten).
686
698
687
-
####Zahlen: Unterschied `double` und `integer`
699
+
### Zahlen: Unterschied `double` und `integer`
688
700
689
701
Sowohl `double` als auch `integer` beinhalten Zahlen. Wo ist nun der Unterschied und warum gibt es ihn?
690
702
691
703
692
704
**Double** sind Fließkommazahlen bzw. Dezimalzahlen, auch *floating point numbers*.
693
705
694
706
**Integer** sind positive und negative ganze Zahlen sowie Null.
695
-
696
-
697
707
Das ist wichtig zu erwähnen, denn das ist krass: Computer merken sich Zahlen anders als Menschen. Die meisten Menschen denken *dezimal* (also in Zehnerschritten) und Computer *binär* (die klassischen 1 und 0).
698
708
699
709
Für den Menschen sieht eine `0.1` so aus: $0.1$ bzw. $\frac{1}{10}$.
@@ -1298,6 +1308,20 @@ Darüber hinaus hast du nun ein Bild davon, welche wichtigen Datentypen (`double
1298
1308
|`as.array()`| Umwandlung in Array |
1299
1309
|`is.double()`| Logische Abfrage, analog zu den anderen Typen und Klassen abwandelbar |
1300
1310
1311
+
## Hash generieren
1312
+
1313
+
Wenn du mit deinen Antworten im Tutorial zufrieden bist, generiere dir deinen Hash-Code, kopiere ihn und lade ihn bei der entsprechenden Abgabe auf Moodle hoch!
0 commit comments