Ich möchte die durchschnittliche Besuchsrate von 6 Tierarten über 4 Behandlungen graphisch darstellen. Ich möchte, dass jede Spezies eine Linie hat, die die Rate widerspiegelt. Wenn ich diesen Code ausgeführt wird:Fehler in ggplotly
library(plotly)
library(RColorBrewer)
library(extrafont)
library(MASS)
library(lme4)
library(reshape2)
dat<-read.table("R-1.AverageVisitationRatewithTrappingPeriod.csv",header=T,sep=",")
melt.data <- melt(dat,id = c("Site", "Treatment", "TrappingPeriod", "Rainfall"),
variable.name="Species",value.name="AverageVisitationRate", na.rm = TRUE)
melt.data$Treatment<-as.factor(melt.data$Treatment)
Treatment<-melt.data$Treatment
Species<-melt.data$Species
AverageVisitationRate<-melt.data$AverageVisitationRate
str(melt.data)
melt.data
plot<- ggplot(melt.data, aes(x = Treatment, y = AverageVisitationRate)) +
geom_point(aes(color = Species)) +
facet_grid(Treatment~Species, margins=FALSE,scales="free_y")+
stat_smooth(method = 'lm',aes(color = Species),se = FALSE)+
labs(list(x = "Treatment", y = "Average Visitation Rate"))+
theme(axis.title = element_text(family = "Arial", color="black", size=20),strip.background = element_blank())
ggplotly(plot)
Es erzeugt dann diesen Fehler: Error in $<-.data.frame(
tmp, "alpha", value = 1) : replacement has 1 row, data has 0
Hier ist eine Probe meiner Daten:
Treatment Buffalo Impala Nyala Warthog WhiteRhino Wildebeest Zebra
1 - 0% 0 0 0 0 0 0 0
1 - 0% 0.166666667 0.25 0 0.083333333 0 0 0
1 - 0% 0 0.5 0 0 0 0 0
1 - 0% 0 0 0.125 0 0 0 0
1 - 0% 0 0 0.038461538 0.076923077 0.076923077 0 0.038461538
2 - 5% 0.5 0.357142857 0.5 0 0.142857143 0 0
2 - 5% 0 0.25 0.25 0.083333333 0.166666667 0 0
2 - 5% 0 0 0.0625 0 0 0 0
2 - 5% 0 0.2 0 0 0 0 0
2 - 5% 0 0.076923077 0.038461538 0 0.038461538 0 0.153846154
3 - 10% 0.625 0.375 0.5 0.3125 0.5625 0 0.0625
3 - 10% 1.833333333 1.416666667 0.166666667 0.333333333 0 0 0
3 - 10% 0 0 0 0 0 0 0
3 - 10% 0.25 0 0.125 0 0 0 0
3 - 10% 0 1.2 0 0.4 0 0 0
4 - 20% 0 0 0 0 0 0 0
4 - 20% 0.333333333 0.5 0.083333333 0.083333333 0.083333333 0 0
4 - 20% 0 0.1875 0.25 0.125 0 0 0
4 - 20% 0 0.25 0 0 0 0 0
4 - 20% 0.115384615 0.076923077 0.269230769 0.076923077 0.115384615 0 0.115384615
Leider bin ich nicht sicher, wie man eine Tabelle hier einkodiert.
Ist der Fehler das Ergebnis von zu vielen Nullen?
Sie können 'dput (myData)' Ihre Daten zu liefern. Bitte lies und folge [wie man minimal reproduzierbare Beispiele in R liefert] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610) um es zu machen leicht für andere zu helfen. Ihr Beispiel sollte copy-paste-run'able sein, bis der Fehler auftritt. – lukeA
Sie haben Spalten aus Ihren Beispieldaten verloren? melt.data <- melt (dat, id = c ("Site", "Behandlung", "TrappingPeriod", "Rainfall"), variable.name = "Art", value.name = "AverageVisitationRate", na.rm = TRUE) Ich gehe davon aus, dass die von Ihnen präsentierten Daten bereits geschmolzen sind. – user2945234