I folgenden Faktorvariable habe:scheinbare Anomalie in einer Grundfunktion von R
> vect
[1] C E D E E B C D B E D D C D E C A B B A D C E E C A C C B A B B A A D C C B D B A E B B D E C D C C B D D B D E C B A E C A
[63] D C E A D C B E B A A C E A A C A B B A A C E D C E E B A B E C E B C E B D
Levels: A B C D E
>
> str(vect)
Factor w/ 5 levels "A","B","C","D",..: 3 5 4 5 5 2 3 4 2 5 ...
>
> dput(vect)
structure(c(3L, 5L, 4L, 5L, 5L, 2L, 3L, 4L, 2L, 5L, 4L, 4L, 3L,
4L, 5L, 3L, 1L, 2L, 2L, 1L, 4L, 3L, 5L, 5L, 3L, 1L, 3L, 3L, 2L,
1L, 2L, 2L, 1L, 1L, 4L, 3L, 3L, 2L, 4L, 2L, 1L, 5L, 2L, 2L, 4L,
5L, 3L, 4L, 3L, 3L, 2L, 4L, 4L, 2L, 4L, 5L, 3L, 2L, 1L, 5L, 3L,
1L, 4L, 3L, 5L, 1L, 4L, 3L, 2L, 5L, 2L, 1L, 1L, 3L, 5L, 1L, 1L,
3L, 1L, 2L, 2L, 1L, 1L, 3L, 5L, 4L, 3L, 5L, 5L, 2L, 1L, 2L, 5L,
3L, 5L, 2L, 3L, 5L, 2L, 4L), .Label = c("A", "B", "C", "D", "E"
), class = "factor")
Wenn ich versuche, seinen Mittelwert zu berechnen, erhalte ich einen Fehler (entsprechend). Allerdings, wenn ich versuche, seine Standardabweichung zu bekommen, kann ich es bekommen:
> mean(vect)
[1] NA
Warning message:
In mean.default(vect) : argument is not numeric or logical: returning NA
> sd(vect)
[1] 1.388954
>
Ich dachte, mean() und sd() Funktionen sollten Faktorvariablen in ähnlicher Weise behandeln. Wo ist das Problem? Danke für deine Kommentare.
Edit: die Version ist:
> R.version
platform i486-slackware-linux-gnu
arch i486
os linux-gnu
system i486, linux-gnu
status
major 3
minor 2.2
year 2015
month 08
day 14
svn rev 69053
language R
version.string R version 3.2.2 (2015-08-14)
nickname Fire Safety
@Zheyuan Ich bin keine Warnung auf meinem System zu bekommen. – rnso
@RichardScriven Das ist der springende Punkt. SD-Funktion sollte auch diese Überprüfungen durchführen (es sollte sich ähnlich wie Mittelwert verhalten). – rnso
3.2.2: in Frage gestellt. – rnso