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
Einfaches Skript für anfänger
Re: Einfaches Skript für anfänger
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
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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Einfaches Skript für anfänger
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 ) 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!
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 ) 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
Prima, hat wunderbar gaklappt.
Waren wirklich nur drei Zeilen in R Studio:
Danke für die hilfreichen Kommentare
Schöne Grüße
Peter
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")
Schöne Grüße
Peter