Vergleichen von Vektor / Dataframe ?

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

Moderatoren: EDi, jogo

Antworten
aham
Beiträge: 2
Registriert: Fr Jan 08, 2021 9:05 pm

Vergleichen von Vektor / Dataframe ?

Beitrag von aham »

Hallo allerseits,

Ich habe ein Liste welche die Namen von Ordner beinhaltet. Die Ordnernamen sind Aufnahmezeitpunkte, also jeweils ein Datum (Format siehe unten)
Die Liste entsteht durch:
Ordnerliste <- list.dirs(folder....)
und sieht in etwas so aus:
> Ordnerliste
[1] "2018_05_01" "2018_05_04" "2018_05_06" "2018_05_09" "2018_05_11" "2018_05_14" "2018_05_16"
[8] "2018_05_19" "2018_05_21" "2018_05_24" "2018_05_26" "2018_05_29" "2018_05_31" "2018_06_03" .......

Weiterhin lese ich eine .txt Datei ein, in der ebenfalls Aufnahmezeitpunkte angegeben sind

Datum <- read.delim(file = "xxxxx.txt"), header = FALSE)

das sieht dann folgendermaßen aus:
> Datum
V1
1 2018_05_01
2 2018_05_04
3 2018_05_06
....

Einige der Aufnahmezeitpunkte stimmen in beiden Variablen über ein. Ich bräuchte nun am Ende eine Liste oder Vektor mit den
übereinstimmenden Aufnahmezeitpunkten. Die Länge der beiden Variablen stimmt nicht überein.
Ich habe es schon mit "match", "intersect", %in% versucht. Funktioniert alles nicht.
Offensichtlich haben meine zwei Variablen einen unterschiedliche Typ.
Die Textdatei wird ein data.frame. Die Ordnerliste, da bin ich nicht sicher was das ist, ein Vektor?
> class(Ordnerliste)
[1] "character"
> class(Datum)
[1] "data.frame"

Ich habe schon versucht beides in einen Dataframe zu überführen oder eine Liste draus zu machen.
Das scheint aber nicht das richtige Vorgehen zu sein.
Wie könnte ich aus beiden Variablen den gleichen Datentyp machen, so dass sie verglichen werden können?
Welchen Befehl nutzt man am besten für solche Vergleiche?
Sorry für die laienhafte Beschreibung.
Vielen Dank schon mal.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Vergleichen von Vektor / Dataframe ?

Beitrag von EDi »

Code: Alles auswählen

Ordnerliste[Ordnerliste %in% Datum$V1]
Also zwei Vektoren vergleichen. Data.frames bestehen aus (Spalten-)Vektoren, mit dem $ Operator kann man diese Spalten per Namen rausziehen. Es ginge aber auch mit "[" (was ich besser finde).

Was auch hilfreich zu wissen ist, ist das data.frames auch Listen sind mit bestimmten Eigenschaften (Listeneinträge sind die Spalten und haben alle die gleiche Länge). Damit kann man über Spalten operieren wie über Listen (nennt sich dann funktionelle Programmieren).
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
aham
Beiträge: 2
Registriert: Fr Jan 08, 2021 9:05 pm

Re: Vergleichen von Vektor / Dataframe ?

Beitrag von aham »

Hallo EDi,
das hat funktioniert, super!
Es lag also nur daran, dass ich nicht auf eine spez. Spalte im data.frame verwiesen habe.
Vielen Dank für Deine Hilfe und auch für die Zusatzinfo.
Vg aham
Antworten