Einfaches Skript für anfänger

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

Moderatoren: EDi, jogo

Antworten
Spandau61
Beiträge: 2
Registriert: Fr Apr 05, 2024 4:10 pm

Einfaches Skript für anfänger

Beitrag 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
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Einfaches Skript für anfänger

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Einfaches Skript für anfänger

Beitrag 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!
Spandau61
Beiträge: 2
Registriert: Fr Apr 05, 2024 4:10 pm

Re: Einfaches Skript für anfänger

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