Seite 1 von 1

Einträge aus Liste auslesen

Verfasst: Do Sep 14, 2017 4:36 pm
von Canna
Hallo liebe Leute.

Eigentlich ein banales Problem.
In meinem Skript taucht folgender Befehl auf:

Code: Alles auswählen

data <- species[ , -1]
Ich habe eine 2 spaltige Tabelle namens "species" und verstehe nicht ganz was mit dem [ , -1] ausgelesen wird. Auch durch rumprobieren mit [-1, ], [ , -2] etc konnte ich es mir nicht herleiten.
Ist vermutlich eine sehr dumme Frage aber ich kann gerade auch einfach nicht mehr klar denken :-D

Danke euch!!!

Re: Einträge aus Liste auslesen

Verfasst: Do Sep 14, 2017 7:07 pm
von student
Hallo Canna,

hilft das?
> ab[-c(2,4)] #Die Elemente 2 und 4 ausschließen!
Hier wird die 3. Spalte von der Selektion ausgeschlossen:
> subset(Wirkstoffe, Gehalt_MW > 97, select = -3)
Wirkstoff_Code Gehalt_MW
1 WI0815 98.3
3 WI0817 97.9

Re: Einträge aus Liste auslesen

Verfasst: Fr Sep 15, 2017 3:12 pm
von Canna
Hm, irgendwie nicht. Ich fürchte ich verstehe das grundsätzliche Prinzip der eckigen Klammern nicht.
Ich weiß dass man damit Werte aus einem Dataframe auslesen kann. Zb data[1,1] gibt den Wert der Zelle der 1. Zeile und 1.Spalte aus. [2,1] entsprechend der 2. Zeile und 1. Spalte.

Nun zu dem Minus:
data[2,-1] gibt nicht mehr die Zelle der 2. Zeile und 1. Spalte aus, sondern 2. Zeile und 2. Spalte.
Aber data [-1,2] gibt die KOMPLETTE erste Spalte aus.

Ich verstehe das nicht. Irgendjemand? Wahrscheinlich ist es ganz leicht?! :-D

Danke euch!!

Re: Einträge aus Liste auslesen

Verfasst: Fr Sep 15, 2017 3:29 pm
von jogo
Hallo Canna,
Canna hat geschrieben: Fr Sep 15, 2017 3:12 pm Nun zu dem Minus:
data[2,-1] gibt nicht mehr die Zelle der 2. Zeile und 1. Spalte aus, sondern 2. Zeile und 2. Spalte.
Aber data [-1,2] gibt die KOMPLETTE erste Spalte aus.

Ich verstehe das nicht. Irgendjemand? Wahrscheinlich ist es ganz leicht?! :-D
- (minus) bedeutet ohne (bzw. abzüglich) die genannten Zeilen/Spalten. Wenn Deine Matrix nur zwei Spalten hat, dann bedeutet data[2,-1] "die Elemente der zweiten Zeile ohne das Element aus der ersten Spalte; das ist natürlich ergebnisequivalent mit 2. Zeile und 2. Spalte (wenn - wie gesagt - nur zwei Spalten vorhanden sind).
Noch ein Beispiel:

Code: Alles auswählen

M <- iris
M[2,]
M[2, -1]
Gruß, Jörg

Re: Einträge aus Liste auslesen

Verfasst: Fr Sep 15, 2017 4:51 pm
von Canna
Ich habs verstanden. Oh Gott, ich hatte einen riesen Denkfehler.
Ich wusste nicht was das Minus bedeutet. Und auch nicht das Komma ohne Wert davor.

[,-1] heißt einfach "Lass die Zeilen komplett in Ruhe und spuck mir die Spalten außer Spalte 1 aus"

Jetzt macht es Sinn. Vielen Dank Jörg!!!!

Re: Einträge aus Liste auslesen

Verfasst: Fr Sep 15, 2017 7:54 pm
von jogo
Hallo Canna,

m.E. bist Du reif für die kompakte Übersicht:
viewtopic.php?f=20&t=27

Gruß, Jörg
p.s.: wie auch sonst der Bereich FAQ hier im Forum lesenswert ist :!:
viewforum.php?f=20

Re: Einträge aus Liste auslesen

Verfasst: Mo Sep 18, 2017 10:45 am
von Canna
Danke!! :-)