Seite 1 von 1

Vergleichen von Vektor / Dataframe ?

Verfasst: Fr Jan 08, 2021 9:24 pm
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.

Re: Vergleichen von Vektor / Dataframe ?

Verfasst: Fr Jan 08, 2021 11:54 pm
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).

Re: Vergleichen von Vektor / Dataframe ?

Verfasst: Sa Jan 09, 2021 8:22 am
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