Seite 1 von 1

Einfaches Skript für anfänger

Verfasst: Fr Apr 05, 2024 5:20 pm
von Spandau61
Hallo,

ich bin R-Laie und neu hier im Forum. Könntet ihr mich bitte dabei unterstützen eine einfache Operation in R durchzuführen?

Mir liegen zwei Tabellen A und B jeweils im txt. Format vor wobei die Spalten durch ";" voneinander getrennt sind und jeweils Zahlen oder Stings enthalten.

Tabelle A weißt weitaus mehr Zeilen auf, als Tabelle B.
Beide Tabellen enthalten jeweils eine Spalte x mit identischer Spaltenbezeichnung.
Für jeden Wert in der Spalte x der Tabelle B, möchte ich nun die entsprechende Zeile aus Tabelle A mit identischem Wert ermitteln und in einer neuen Tabelle ausgeben lassen. Die neue Tabelle soll alle Zeilen aus Tabelle A enthalten, für die ein entsprechender (gleicher) Eintrag in der Spalte y der Tabelle B enthalten ist. Die neue Tabelle soll die entsprechenden Spalten aus Tabelle A und B enthalten.

Wie lautet das entsprechende Skript (Entwurf) für die Operation?
Vielen Dank im Voraus für eure Unterstützung.

Schöne Grüße
Peter

Re: Einfaches Skript für anfänger

Verfasst: Fr Apr 05, 2024 6:39 pm
von bigben
Hallo Peter,

Das klingt sehr machbar. Hast Du denn eigene Kenntnisse in R oder bisher gar keine? Bist Du unter Windows unterwegs? Dann könntest Du mit choose.files() sehr schön den richtigen Pfad in R Schreibweise zu den Dateien finden.
Lesen könntest Du solche Dateien mit read.csv2() und alles zusammenführen mit merge().

Hilft das? Wenn nein, wp brauchst Du Hilfe?

LG, Bernhard

Re: Einfaches Skript für anfänger

Verfasst: Sa Apr 06, 2024 11:43 am
von Athomas
Das von bigben genannte Zauberwort "merge" sollte Dir weiterhelfen, wenn man das googelt, erhält man etwa einen Verweis auf https://www.infoworld.com/article/34543 ... table.html, wo verschiedene Varianten durchexerziert werden.
Für Dich sollte vor allem der Abschnitt "Merges with base R" interessant sein, wenn Du über etwas mehr R-Bildung verfügst und möglicherweise mal größere Datenmengen verwurschteln musst, solltest Du Dir alles um data.table herum mal angucken...

Noch ein kleiner Hinweis: read.csv2 ist "im Prinzip" dasselbe, wie read.csv: https://stackoverflow.com/questions/229 ... -csv2-in-r.

Mich hat das damals als (absoluten :D ) Anfänger immer irritiert - offenbar bevorzugen Anfänger einen klaren, eindeutigen Weg gegenüber einem Strauß von Möglichkeiten. Das zweite ist aber irgendwie - schon für kleine, isolierte Funktionen - typisch für R!

Re: Einfaches Skript für anfänger

Verfasst: Mo Apr 15, 2024 1:46 pm
von Spandau61
Prima, hat wunderbar gaklappt.
Waren wirklich nur drei Zeilen in R Studio:

Code: Alles auswählen

Daten <- read.table("Daten.txt", header = TRUE, dec = ",", sep = ";")
Analysen <- read.table("Analysen.txt", header = TRUE, dec = ",", sep = ";")
zusammengefasst <- merge(Analysen, Daten, by.x = "ID", by.y = "ID")
Danke für die hilfreichen Kommentare

Schöne Grüße
Peter