Einträge aus Liste auslesen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Canna

Einträge aus Liste auslesen

Beitrag 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!!!
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Einträge aus Liste auslesen

Beitrag 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
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Canna

Re: Einträge aus Liste auslesen

Beitrag 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!!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Einträge aus Liste auslesen

Beitrag 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
Canna

Re: Einträge aus Liste auslesen

Beitrag 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!!!!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Einträge aus Liste auslesen

Beitrag 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
Canna

Re: Einträge aus Liste auslesen

Beitrag von Canna »

Danke!! :-)
Antworten