Ho creato un set di dati denominato state
dalla matrice incorporata state.x77
con due variabili continue (Popolazione e reddito) e due variabili fattore (regione e area) .Errore R in unique.default (x) unique() si applica solo ai vettori
ho calcolato dire reddito regione utilizzando tapply()
, by()
, aggregate()
e ave()
per vedere il formato dell'oggetto restituito.
Ma la chiamata a ave()
sta dando l'errore
Error in unique.default (x): unico() si applica solo ai vettori
Il codice è:
## Mean income by region
tapply(state$inc, state$region, mean)
# Northeast South North Central West
# 4570.222 4011.938 4611.083 4702.615
by(state$inc, state$region, mean)
# state$region: Northeast
#
# [1] 4570.222
# [...]
aggregate(state$inc, list(state$region), mean)
#
# Group.1 x
# 1 Northeast 4570.222
# 2 South 4011.938
# 3 North Central 4611.083
# 4 West 4702.615
ave(state$inc, state$region, mean)
# Error in unique.default(x) : unique() applies only to vectors
Perché si verifica l'errore? Come posso impedirlo?
Grazie tu molto. l'errore è stato prevenuto. Ma non ho usato FUN nel comando tapply(), by(), aggregate(). allora perché quelli non si sono verificati errore? – time
È perché all'interno della sinossi di 'ave' (elenco di argomenti),' FUN' viene ** dopo ** '...' quindi se non lo passi in modo specifico con 'FUN =', allora R penserà che è parte dell'argomento '...' e usa il valore predefinito ('mean') per' FUN'. – flodel
Grazie, grazie, molte grazie. Sono un principiante in r. potresti darmi qualche consiglio in modo da poter migliorare le mie conoscenze in r? – time