Net Squared Displacement
Moderator: jogo
Re: Net Squared Displacement
Cool, das ursprüngliche Problem, dass Datumsangaben mal mit Querstrichen und mal mit Einfachpunkten codiert sind verschwindet einfach, wenn man Excel als Zwischenschritt weglässt. In den Beispieldaten ist alles einheitlich mit Querstrichen und amerikanischer Reihenfolge codiert.
---
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: Net Squared Displacement
So ist es wohl! Unter anderem deswegen dränge ich immer darauf, dass Fragesteller ihr Netto-Problem darstellen - und nicht den Zustand bei Abbruch des Bearbeitungsversuches !Cool, das ursprüngliche Problem ... verschwindet einfach, wenn man Excel als Zwischenschritt weglässt.
Re: Net Squared Displacement
...und die konkreten Daten. Datumsangaben im "Format (YYYY / MM / DD)" kamen in den Musterdaten beispielsweise überhaupt nicht vor und ggf. dafür geschriebener Code könnte nicht funktionieren. Immerhin sind die Daten dann jetzt im PosixCT-Format, das, wenn ich das richtig überflogen habe, auch von dem angepeiltern Skript genutzt wird. Wir müssen jetzt noch hoffen, dass die 4 Zeilen Beispieldaten auch wirklich die Daten repräsentieren. Hoffentlich hat Excel nicht einige Zellen verändert, weil es inkonsistente Spalten in den Originaldaten gibt.
@Arthemisia: Ist denn die Verarbeitung ohne Excel für Dich jetzt ok oder hast Du noch andere Anpassungen in Excel vorgenommen, die jetzt auch in R realisiert werden müssen?
GLG,
Bernhard
@Arthemisia: Ist denn die Verarbeitung ohne Excel für Dich jetzt ok oder hast Du noch andere Anpassungen in Excel vorgenommen, die jetzt auch in R realisiert werden müssen?
GLG,
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
-
- Beiträge: 17
- Registriert: Fr Aug 26, 2022 2:47 pm
Re: Net Squared Displacement
Hallo,
der Tipp mit dem Data Table hat funktioniert. Im Data Frame ist jetzt der Zeitstempel als "chr" markiert und im richtigen Datumsformat für die Weiterverarbeitung. Nächstes Problem: In der Spalte "site" gibt es einmal "Dümmer" und einmal "Großes Meer" für die beiden Populationen. R kann mit "ü" und "ß" nichts anfangen, es gibt dann in der Ausgabe "D\xfcmmer", und beim Versuch, über subset die Datensätze zu teilen, hielt R das "\" für ein Steuerungssymbol.
Das bedeutet, ich muss dann doch für die Spalte "site" die Excel Tabelle verwenden. Ist wohl doch nicht so einfach, Excel komplett außen vorzulassen.
@Bernhard: sorry, aber deinen letzten Kommentar fand ich ein wenig fehl am Platz.
der Tipp mit dem Data Table hat funktioniert. Im Data Frame ist jetzt der Zeitstempel als "chr" markiert und im richtigen Datumsformat für die Weiterverarbeitung. Nächstes Problem: In der Spalte "site" gibt es einmal "Dümmer" und einmal "Großes Meer" für die beiden Populationen. R kann mit "ü" und "ß" nichts anfangen, es gibt dann in der Ausgabe "D\xfcmmer", und beim Versuch, über subset die Datensätze zu teilen, hielt R das "\" für ein Steuerungssymbol.
Das bedeutet, ich muss dann doch für die Spalte "site" die Excel Tabelle verwenden. Ist wohl doch nicht so einfach, Excel komplett außen vorzulassen.
@Bernhard: sorry, aber deinen letzten Kommentar fand ich ein wenig fehl am Platz.
Re: Net Squared Displacement
Vielleicht hast Du mich damit auch falsch verstanden? Das war kein Kommentar, sondern eine ehrliche Frage. Ich wollte wissen, ob es noch andere Anpassungen gibt von denen Du glaubst, dass Du sie besser in Excel machen solltest und tatsächlich, hast Du noch irgendwelche Umlaute zu verarbeiten und glaubst, dass Du das besser in Excel machen solltest. Ich habe also mit meinem letzten Kommentar ehrlich nach genau dem gefragt, was Du jetzt als Problem hast.Arthemisia hat geschrieben: ↑Mi Sep 07, 2022 2:23 pm@Bernhard: sorry, aber deinen letzten Kommentar fand ich ein wenig fehl am Platz.
Umlaute und `ß` sind eine Frage der Codierung / des Encodings der CSV-Datei. R geht normalerweise von utf8 aus, aber auch das noch nicht so richtig lange.
Der schnellste und einfachste Weg ist vielleicht, wenn Du die CSV-Datei in RStudio in einem Texteditor öffnest, dort mit Suchen&Ersetzen (Strg+Shift+J) die fraglichen Buchstaben durch etwas ersetzt, was Encoding-unkritisch ist, beispielsweise ß durch ss oder sz und ü durch ue und dann aus dem Texteditor wieder als CSV abspeicherst. Dann hast Du kein Risiko wegen Excel und musst Dich auch nicht lange mit Encodings beschäftigen und verwendest ein Werkzeug, das Du bestimmt schon auf dem Rechner hast.
Natürlich könnte man das auch mir R Code machen, wenn es öfter vorkäme. Wenn das nur einmal anfällt, würde ich es über den Texteditor machen.
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
-
- Beiträge: 17
- Registriert: Fr Aug 26, 2022 2:47 pm
Re: Net Squared Displacement
ja, das hat funktioniert, danke
Re: Net Squared Displacement
Gerne. Eine elegantere Alternative wäre gewesen: Finde heraus, welches Encoding die einzulesende Datei benutzt und gibt das dann beim Einlesen der Daten an: https://druedin.com/2017/01/28/set-enco ... r-windows/
und https://abctool.gitlab.io/encoding-dete ... html?_lang
LG,
Bernhard
und https://abctool.gitlab.io/encoding-dete ... html?_lang
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: Net Squared Displacement
Das kann man so nicht sagen - außerdem steckt das Problem mit den falsch codierten "Spezialzeichen" schon in Deinen Beispielsdaten: da gibt es sowohl "Dümmer" wie auch "rigned as adult female in family catch at Lake Dümmer" - sind da mehrere Dateien gemischt worden?R kann mit "ü" und "ß" nichts anfangen, es gibt dann in der Ausgabe "D\xfcmmer", ...
-
- Beiträge: 17
- Registriert: Fr Aug 26, 2022 2:47 pm
Re: Net Squared Displacement
Ja, genau das ist ja das Problem.
Es wurden unterschiedliche GPS Geräte verwendet, die z.T. ihre Daten in unterschiedlichen Formaten abgespeichert hatten. Außerdem wurden nachträglich Daten verändert und zusammengeführt.
Da jetzt aber nur die Spalten für "trackId", "site", "timestamp", "location.long" und "location.lat" für das NSD Skript von Interesse sind, sind (mir persönlich im Moment) die anderen Spalten egal. Generell ist das aber echt ein Problem bei der Verarbeitung solcher Datensätze.
Ich bin echt froh, dass ihr mir hier helfen konntet. Danke dafür.
Es wurden unterschiedliche GPS Geräte verwendet, die z.T. ihre Daten in unterschiedlichen Formaten abgespeichert hatten. Außerdem wurden nachträglich Daten verändert und zusammengeführt.
Da jetzt aber nur die Spalten für "trackId", "site", "timestamp", "location.long" und "location.lat" für das NSD Skript von Interesse sind, sind (mir persönlich im Moment) die anderen Spalten egal. Generell ist das aber echt ein Problem bei der Verarbeitung solcher Datensätze.
Ich bin echt froh, dass ihr mir hier helfen konntet. Danke dafür.
-
- Beiträge: 17
- Registriert: Fr Aug 26, 2022 2:47 pm
Re: Net Squared Displacement
So, ich habe jetzt den Anfang zum Laufen bekommen:
###################
Bis hierhin funktioniert es jetzt, danke für eure Tipps.
Jetzt habe ich den nächsten Teil rüber laufen lassen, es läuft bis zum Ende durch, aber dann das hier:
Irgendwo sitzt immer noch ein Fehler.
Code: Alles auswählen
library(trip)
library(stringr)
library(adehabitatHR)
library(lattice)
library(gmodels)
library(spatstat)
library(maptools)
library(data.table)
read.csv ("raw_data3.csv")
dataNSD <- read.csv ("raw_data3.csv", haeder = TRUE, sep = ",")
DT <- fread("raw_data3.csv")
DT[ , ":="(Timestamp = as.POSIXct(timestamp, format="%m/%d/%Y %H:%M:%S"))]
dataNSD <- DT[ , c("trackId", "site", "timestamp", "location.long", "location.lat")]
setnames(dataNSD, c("location.long", "location.lat"), c("coords_x1", "coords_x2"))
List_D <-read.table("list_IDduemmer.txt", sep="\t", header=TRUE)
head(List_D)
trackIdDuemmer <- c(List_D)
str (trackIdDuemmer)
List_GM <-read.table("list_IDgrossesMeer.txt", sep="\t", header=TRUE)
head(List_GM)
trackIdGrossesMeer <- c(List_GM)
str (trackIdGrossesMeer)
data.Duemmer <- subset (dataNSD, site == "Duemmer")
duemmer <- data.frame (data.Duemmer$trackId, data.Duemmer$timestamp, data.Duemmer$coords_x1, data.Duemmer$coords_x2 )
str (duemmer)
data.GrossesMeer <- subset (dataNSD, site == "Grosses Meer")
GrossesMeer <- data.frame (data.GrossesMeer$trackId, data.GrossesMeer$timestamp, data.GrossesMeer$coords_x1, data.GrossesMeer$coords_x2 )
str (GrossesMeer)
coords.Duemmer <-data.frame(x = duemmer$data.Duemmer.coords_x1, y = duemmer$data.Duemmer.coords_x2)
crsD <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
head(coords.Duemmer)
plot(coords.Duemmer, main = "Coordinates GPS Data Duemmer See", xlab = "Longitude Degrees East", ylab = "Latitude Degrees North")
coords.GrossesMeer <- data.frame(x = GrossesMeer$data.GrossesMeer.coords_x1, y = GrossesMeer$data.GrossesMeer.coords_x2)
crsGM <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
head(coords.GrossesMeer)
plot(coords.GrossesMeer)
NSDduemmer.spdf <- SpatialPointsDataFrame(coords = coords.Duemmer, data = duemmer, proj4string = CRS(crsD))
head(NSDduemmer.spdf)
class(NSDduemmer.spdf)
proj4string(NSDduemmer.spdf)
plot(NSDduemmer.spdf)
NSDgrossesMeer.spdf <- SpatialPointsDataFrame(coords = coords.GrossesMeer, data = GrossesMeer, proj4string = CRS(crsGM))
head(NSDgrossesMeer.spdf)
class(NSDgrossesMeer.spdf)
proj4string(NSDgrossesMeer.spdf)
plot(NSDgrossesMeer.spdf)
Bis hierhin funktioniert es jetzt, danke für eure Tipps.
Jetzt habe ich den nächsten Teil rüber laufen lassen, es läuft bis zum Ende durch, aber dann das hier:
Code: Alles auswählen
Fehler: unerwartetes Symbol in:
"str (nsdtest)
nsdplot <- xyplot (nsdall ~ zerostart/3600, data = datansd1, col = "grey", type = 'b', ylab = expression paste"
> plot (nsdplot)
Fehler in h(simpleError(msg, call)) :
Fehler bei der Auswertung des Argumentes 'x' bei der Methodenauswahl für Funktion 'plot': Objekt 'nsdplot' nicht gefunden
> dev.off()
null device
1
> }
Fehler: Unerwartete(s) '}' in "}"
Und das bekomme ich als Aufstellung der Results:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
ID 0 0 0 0 0 0 0 0 0 0 0 0
AICC_1 0 0 0 0 0 0 0 0 0 0 0 0
d_AICC_1 0 0 0 0 0 0 0 0 0 0 0 0
LL_AICC_1 0 0 0 0 0 0 0 0 0 0 0 0
wi_AICC_1 0 0 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0 0 0
AICC_2 0 0 0 0 0 0 0 0 0 0 0 0
d_AICC_2 0 0 0 0 0 0 0 0 0 0 0 0
LL_AICC_2 0 0 0 0 0 0 0 0 0 0 0 0
wi_AICC_2 0 0 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0 0 0
AICC_3 0 0 0 0 0 0 0 0 0 0 0 0
d_AICC_3 0 0 0 0 0 0 0 0 0 0 0 0
LL_AICC_3 0 0 0 0 0 0 0 0 0 0 0 0
wi_AICC_3 0 0 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0 0 0
AICC_4 0 0 0 0 0 0 0 0 0 0 0 0
d_AICC_4 0 0 0 0 0 0 0 0 0 0 0 0
LL_AICC_4 0 0 0 0 0 0 0 0 0 0 0 0
wi_AICC_5 0 0 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0 0 0
AICC_5 0 0 0 0 0 0 0 0 0 0 0 0
d_AICC_5 0 0 0 0 0 0 0 0 0 0 0 0
LL_AICC_5 0 0 0 0 0 0 0 0 0 0 0 0
wi_AICC_5 0 0 0 0 0 0 0 0 0 0 0 0
[,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22]
ID 0 0 0 0 0 0 0 0 0 0
AICC_1 0 0 0 0 0 0 0 0 0 0
d_AICC_1 0 0 0 0 0 0 0 0 0 0
LL_AICC_1 0 0 0 0 0 0 0 0 0 0
wi_AICC_1 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0
AICC_2 0 0 0 0 0 0 0 0 0 0
d_AICC_2 0 0 0 0 0 0 0 0 0 0
LL_AICC_2 0 0 0 0 0 0 0 0 0 0
wi_AICC_2 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0
AICC_3 0 0 0 0 0 0 0 0 0 0
d_AICC_3 0 0 0 0 0 0 0 0 0 0
LL_AICC_3 0 0 0 0 0 0 0 0 0 0
wi_AICC_3 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0
AICC_4 0 0 0 0 0 0 0 0 0 0
d_AICC_4 0 0 0 0 0 0 0 0 0 0
LL_AICC_4 0 0 0 0 0 0 0 0 0 0
wi_AICC_5 0 0 0 0 0 0 0 0 0 0
ID 0 0 0 0 0 0 0 0 0 0
AICC_5 0 0 0 0 0 0 0 0 0 0
d_AICC_5 0 0 0 0 0 0 0 0 0 0
LL_AICC_5 0 0 0 0 0 0 0 0 0 0
wi_AICC_5 0 0 0 0 0 0 0 0 0 0