Fehler in tapply: Argumente müssen die gleiche Länge haben
Habe ich importiert einen Satz von Daten in R als data frame aus .csv-Datei. Ursprünglich hatte ich eine Fehlermeldung wie folgt:
> data<-read.csv("D:/research/PhD 2014/Data/anaesthesia trials/anaesthesia times.csv", header=TRUE)
> str(data)
'data.frame': 80 obs. of 10 variables:
$ chemical: Factor w/ 2 levels "aquis","benzocaine": 1 1 1 1 1 1 1 1 1 1 ...
$ Fish : int 1 2 3 4 5 6 7 8 9 10 ...
$ Dose : int 10 10 10 10 10 10 10 10 10 10 ...
$ X1 : int 442 0 0 0 0 0 0 0 0 0 ...
$ X2 : int 600 0 0 0 0 0 0 0 0 0 ...
$ X3a : int 885 0 0 0 0 0 0 0 0 0 ...
$ X3b : int 0 0 0 0 0 0 0 0 0 0 ...
$ Recovery: int 650 0 0 0 0 0 0 0 0 0 ...
$ wt..g. : num 0.19 0 0 0 0 0 0 0 0 0 ...
$ tl..mm. : int 35 0 0 0 0 0 0 0 0 0 ...
> Mean<-tapply(data$x1,data$Dose, mean)
Error in tapply(data$x1, data$Dose, mean) :
arguments must have same length
> length(data$Dose)
[1] 80
> length(data$x1)
[1] 0
> dim(data$x1)
NULL
Ich vermute, dass dies ist, weil es sind fehlende Werte. Jedoch, die fehlenden Werte keine fehlenden Werte als solche sind Sie real 0 ist. Ich war in der Lage, für die Fehler und die Funktion "tapply" hier, in anderen Foren, und tatsächlich kopiert den code von "A beginners guide to R" und ersetzte es mit meinen eigenen Daten.
Meine andere Sorge, die ist problematischer als fehlende Nullen ist, dass 'x1' hat eine Länge von '0' nach der die Länge () - Funktion...
Ich bin ziemlich verwirrt, weil ich wieder und überprüft das .csv-Datei, versucht es zu speichern als andere .csv-Datei, und nichts scheint sich zu ändern. Ich habe sicher, dass Sie ändern die Formatierung der Zelle auf "Zahl" in der .csv selbst und das scheint nicht geholfen zu haben. Ist R nicht zu erkennen, Daten aus irgendeinem Grund?
Kann ich das problem .csv-Datei, nur nicht sicher, was wäre der beste Weg, es zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden
data$X1
(großes X) intapply
nennen. Namen in R sind case-sensitive. Lassen Sie uns wissen, ob es geklappt hat.Versuchen, konvertieren Sie Ihre input-Daten zu einem Daten-frame (Daten.frame()). Dass aufgelöst eine ähnliche Fehlermeldung für mich.
tapply
Funktion auf einer nicht - Daten.frame-Objekt, soas.data.frame(yourdata)
odersetDF(yourdata)
vortapply
wäre ein sicherer Weg.