Seite 1 von 2
Schleife einbauen
Verfasst: Do Okt 11, 2018 10:05 am
von NeueR
Hallo R-Profis,
ich habe erst vor ein paar Tagen mit R begonnen, bin also noch absoluter neu.
Mit folgendem Code habe ich ein Diagramm als svg-Datei erstellt:
Code: Alles auswählen
d1 <- createVennObj(nSets = 2, sNames = c('A', 'B'))
d1 <- setVennRegion(d1, c("A"), 5)
d1 <- setVennRegion(d1, c("B"), 3)
d1 <- setVennRegion(d1, c("A", "B"), 1)
myV <- plotVenn(nVennObj = d1)
showSVG(nVennObj = myV)
Klappt auch alles super.
Jetzt würde ich es aber gerne automatisieren.
In einer csv Datei habe ich mehrere Daten für die ich gerne jeweils das Diagramm erstellen/speichern möchte.
Könnt ihr mir einen Tipp geben wie ich das am besten mache?
Die csv ist so aufgebaut (Auszug):
Code: Alles auswählen
,Region 1, Region 2, Region 3...
A, 5, 8, 10
B, 3, 5, 6
AB, 1,3,5
Vorab schon herzlichen Dank für die Tipps.
Re: Schleife einbauen
Verfasst: Do Okt 11, 2018 10:18 am
von EDi
Pack die paar Zeilen in eine Funktion. Argument wäre der Dateipfad, ausgabe das speichern des svg in einem anderen Dateipfad. Innerhalb der Funktion liest du ein und bearbeitest entsprechend.
Starte zuerst nur mit einem Pfad. Wenn das läuft, kannst du mit lapply() oder for() über viele Pfade laufen und diese jeweils der Funktion übergeben.
Re: Schleife einbauen
Verfasst: Do Okt 11, 2018 10:22 am
von NeueR
Hallo Edi,
vielen Dank für die Hilfe.
Kann ich irgendwo nachlesen wie ich so eine Funktion aufbaue bzw. wie lapply, for aufgebaut sein muss?
Bin leider totaler Neuling
Re: Schleife einbauen
Verfasst: Do Okt 11, 2018 2:25 pm
von jogo
Hallo NeueR,
wie liest Du denn eine CSV-Datei ein, um ein Diagramm zu erzeugen?
Gruß, Jörg
Re: Schleife einbauen
Verfasst: Do Okt 11, 2018 2:58 pm
von NeueR
Hallo Jörg,
die CSV habe ich mit folgendem Code eingelesen:
Meine Daten stehen also alle in der Variablen "daten".
Nun weis ich aber nicht wie ich die einzelnen Daten variabel ins Diagramm bekomme.
Aktuell schreibe ich noch die festen Werte rein:
die "5" müsste dann irgendwie variabel sein.
Re: Schleife einbauen
Verfasst: Do Okt 11, 2018 7:48 pm
von jogo
Hallo NeueR,
NeueR hat geschrieben: ↑Do Okt 11, 2018 2:58 pm
die CSV habe ich mit folgendem Code eingelesen:
Meine Daten stehen also alle in der Variablen "daten".
Nun weis ich aber nicht wie ich die einzelnen Daten variabel ins Diagramm bekomme.
Aktuell schreibe ich noch die festen Werte rein:
die "5" müsste dann irgendwie variabel sein.
und wie entsteht das Objekt
d1
Welche Werte statt der "5" sollen denn sonst dort stehen
Und aus welchem Paket stammt die Funktion
setVennRegion()
Und bitte lies
viewtopic.php?f=20&t=29
Gruß, Jörg
Re: Schleife einbauen
Verfasst: Fr Okt 12, 2018 9:01 am
von NeueR
Hallo Jörg,
das Paket heißt nVennR.
d1 wird durch folgenden Code erzeugt:
die csv wird dann eingelesen:
Aktuell wird das Diagramm noch mit festen Werten erzeugt:
Code: Alles auswählen
d1 <- setVennRegion(d1, c("A"), 10)
d1 <- setVennRegion(d1, c("B"), 8)
d1 <- setVennRegion(d1, c("A", "B"), 5)
Statt der "10", "8" und "5" sollen dann die Werte aus der csv eingesetzt werden.
(sorry ich merke wie unverständlich ich mich noch ausdrücke... aber wie gesagt, beschäftige mich erst seit ein paar Tagen mit R)
Re: Schleife einbauen
Verfasst: Fr Okt 12, 2018 9:17 am
von jogo
Hallo NeueR,
Du hast trotz meiner Bitte den Beitrag
viewtopic.php?f=20&t=29 nicht gelesen.
NeueR hat geschrieben: ↑Fr Okt 12, 2018 9:01 am
das Paket heißt nVennR.
o.k., das Paket kenne ich nicht.
d1 wird durch folgenden Code erzeugt:
d1 <- createVennObj(nSets = 2, sNames = c('A', 'B')
also völlig unabhängig von dem Dataframe
daten, den Du beim Einlesen
erzeugst; ist das richtig
Oder hast Du hier irgend etwas ausgelassen?
Bitte verstehe, dass wir nur schwerlich helfen können, wenn Du uns nicht mit einem Beispiel (mit Daten und Code) versorgst, das wir problemlos reproduzieren können. Bitte lies
viewtopic.php?f=20&t=11 (alternativ auch:
https://stackoverflow.com/questions/596 ... le-example )
Statt der "5" sollen die Werte in der csv-Datei eingesetzt werden.
Meinst Du bei der als Auszug angegebenen CSV-Datei die Werte
1, 3, 5, 6, 8, 10
(sorry ich merke wie unverständlich ich mich noch ausdrücke... aber wie gesagt, beschäftige mich erst seit ein paar Tagen mit R)
neben dem Nichtbeachten der beiden FAQ-Texte ist dies eine dritte Hürde, die die Hilfe erschwert bis verunmöglicht.
Gruß, Jörg
Re: Schleife einbauen
Verfasst: Fr Okt 12, 2018 9:23 am
von NeueR
Hallo Jörg,
habe meinen oberen Beitrag entsprechend angepasst.
Ich fasse alles im nächsten Beitrag nochmal zusammen:
Sorry.. ich merke ich muss noch seeeehr viel lernen.
Re: Schleife einbauen
Verfasst: Fr Okt 12, 2018 9:31 am
von NeueR
Ich erzeuge mit dem nVennR Paket ein Diagramm.
Darin sind aktuell feste Werte enthalten:
Code: Alles auswählen
d1 <- createVennObj(nSets = 2, sNames = c('A', 'B'))
d1 <- setVennRegion(d1, c("A"), 10)
d1 <- setVennRegion(d1, c("B"), 8)
d1 <- setVennRegion(d1, c("A", "B"), 5)
myV <- plotVenn(nVennObj = d1)
showSVG(nVennObj = myV)
Das klappt auch wunderbar.
Nun möchte ich das Diagramm aber variabel erzeugen bzw. mit Werten aus einer csv Datei.
Diese lese ich mit folgendem Code ein:
in der Variablen "Daten" erhalten ich nun eine Datenmatrix.
Die Werte untereinander sollen nun statt der "10", "8", und "5" eingesetzt werden.