Я создал набор данных с именем state
из встроенной матрицы state.x77
с двумя непрерывными переменными (Population and Income) и двумя факторами (область и область).
Я вычислил средний доход по регионам с помощью tapply()
, by()
, aggregate()
и ave()
, чтобы увидеть формат возвращаемого объекта.
Но вызов ave()
вызывает ошибку
Ошибка в unique.default(x): unique() применяется только к векторам
Код:
## 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
Почему возникает ошибка? Как я могу предотвратить это?