tapply fonction se plaint que les arguments sont de longueur inégale et pourtant, ils semblent correspondre à
Ici est l'échec d'appel, des messages d'erreur et certains s'affiche pour indiquer la longueur en question:
it <- tapply(molten, c(molten$Activity, molten$Subject, molten$variable), mean)
# Error in tapply(molten, c(molten$Activity, molten$Subject, molten$variable), :
# arguments must have same length
length(molten$Activity)
# [1] 679734
length(molten$Subject)
# [1] 679734
length(molten$variable)
# [1] 679734
dim(molten)
# [1] 679734 4
str(molten)
# 'data.frame': 679734 obs. of 4 variables:
# $ Activity: Factor w/6 levels "WALKING","WALKING_UPSTAIRS",..: 5 5 5 5 5 5 5 5 5 5 ...
# $ Subject : Factor w/30 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...
# $ variable: Factor w/66 levels "tBodyAcc-mean()-X",..: 1 1 1 1 1 1 1 1 1 1 ...
# $ value : num 0.257 0.286 0.275 0.27 0.275 ...
Vous devez vous connecter pour publier un commentaire.
Si vous avez un coup d'oeil à
?tapply
vous verrez queX
doit être "un objet atomique, généralement un vecteur". Vous nourrisseztapply
avec une trame de données ("fusion"), ce qui n'est pas un objet atomique. Voiris.atomic
, et essayeris.atomic(molten)
. En outre, le regroupement de variables doivent être fournis dans unlist
(voirINDEX
argument).Quelque chose comme cela fonctionne:
Vous avez besoin d'avoir un objet unique pour l'INDICE, mais
c( )
va leur string qui est la source de la eror, de sorte que l'utilisation d'une liste:Mieux serait: