2017-06-26 3 views
0

Ich habe drei Spalten mit Daten (Transektname, x-Abstand vom Beginn des Transekts, Elevation entlang Transekt) und möchte schnell ein xy-Streudiagramm erstellen, auf dem jede Serie basiert auf dem Transektnamen. Ich möchte die Hänge der Transekte vergleichen.XY-Streudiagramm mit mehreren Reihen basierend auf Zeilendaten

Die drei Spalten mit Daten sehen wie folgt aus:

Transect, X-distance, Elevation 
A, 0, 0 
A, 1, 2 
A, 1, 3 
A, 2, 4 
B, 0, 0 
B, 1, 3 
B, 2, 4 
C, 0, 0 
C, 1, 1 

usw. mit etwa 15 "Buchstaben/transects" im Wert von Daten. Insgesamt etwa 150-200 Zeilen.

beachte auch, dass die Anzahl der Punkte pro Buchstabe Variable ist (zwischen 8 und 15 oder so), und dass sie geben keine gemeinsame X oder Y (in diesem Fall Entfernung und Elevation)

Ich habe googled/search die "ähnlichen Fragen", aber keine der Antworten scheinen die Daten so aufgebaut zu haben wie ich. Sie haben entweder das gleiche X oder die Reihe in benachbarten Spalten.

Gibt es eine Möglichkeit für R, nur die verschiedenen Namen in der ersten Spalte zu erkennen und sie zu verschiedenen Serien zu machen?

Dank

+0

Haben Sie wirklich die Plots machen wollen oder wollen Sie nur eine Liste der Pisten von transect? – G5W

+0

'Bibliothek (dplyr); df%>% group_by (Transect)%>% ... (was immer als nächstes passieren muss) ' –

+0

Hi G5W. Irgendwann, ja, ich will die Pisten (ich bin ziemlich stark in Excel, so kann es dort leicht genug). Wenn es auf der Basis des Transekts einen schnelleren Weg gibt, die Pisten auszugeben, dann bin ich bereit, es zu lernen. –

Antwort

1

Ich glaube, das ist das, was Sie versuchen zu erreichen. Sie können nach Transect mit der Einstellung Farbe = Transect in Ihrer Ästhetik gruppieren. Ich habe geom_line() hinzugefügt, um die Steigung zu visualisieren. Fühlen Sie sich frei, es auszuschließen.

library(tidyverse) 

df <- tribble(
~Transect, ~X_distance, ~Elevation, 
'A', 0, 0, 
'A', 1, 2, 
'A', 2, 3, 
'A', 3, 4, 
'B', 0, 0, 
'B', 1, 3, 
'B', 2, 4, 
'C', 0, 0, 
'C', 1, 1) 


ggplot(df, aes(X_distance, Elevation, color = Transect)) + 
    geom_point() + 
    geom_line() 

enter image description here

Wenn Sie einzelne Farben auf bestimmte Gruppen setzen wollten, während alle der transects, fügen Sie eine zusätzliche Spalte für die Gruppierungen angibt, zu halten. Sie können dann das Gruppenargument zu Ihrer ggplot-Ästhetik hinzufügen.

df <- tribble(
    ~Transect, ~X_distance, ~Elevation, ~grouping, 
    'A', 0, 0, 'AB', 
    'A', 1, 2, 'AB', 
    'A', 2, 3, 'AB', 
    'A', 3, 4, 'AB', 
    'B', 0, 0, 'AB', 
    'B', 1, 3, 'AB', 
    'B', 2, 4, 'AB', 
    'C', 0, 0, 'C', 
    'C', 1, 1, 'C') 


ggplot(df, aes(X_distance, Elevation, group = Transect, color = grouping)) + 
    geom_point() + 
    geom_line() 

enter image description here

+1

Ich erhalte einen Fehler Warnung in install.packages: Paket 'ggplot' ist nicht verfügbar (für R Version 3.4.0) Warnung in install.packages: kann URL 'http: //www.stats nicht öffnen. ox.ac.uk/pub/RWin/bin/windows/contrib/3.4/PACKAGES.rds ': HTTP-Status war' 404 Not Found ' UPDATE: installiert ggplot2 und es scheint zu funktionieren. –

+1

Ausgezeichnet - funktioniert genau so, wie ich es wollte. Danke Howard. Nur benötigt, um die Pakete zu installieren (das Rstudio "installieren" schien nicht die richtige zu greifen) –

+1

Gibt es eine einfache Möglichkeit, mehrere Transekt in die gleiche Farbe zu klumpen? Sprich, A, B, C = Rot, D, E, F = Blau, G H I Lila usw.? –

Verwandte Themen