#r
#r
Вопрос:
X<-c(-95, 67, -92, 65, 20, 25, -28, 55, 53, -77)
Это мой вектор, я хотел бы получить среднее значение положительных чисел, а затем получить среднее значение, если отрицательные числа.
Как я мог это сделать? Я везде искал, и ничего не появляется.
Спасибо.
Ответ №1:
Попробуйте это:
# Mean of positive numbers
mean(X[X > 0])
# Mean of negative numbers
mean(X[X < 0])
Ответ №2:
Вы можете использовать «which», поскольку он не будет учитывать какие-либо значения NA
Среднее из положительных чисел:
mean(X[which(X>=0)])
[1] 47.5
Среднее значение отрицательных чисел:
mean(X[which(X<0)])
[1] -73
Ответ №3:
Вы можете использовать tapply
:
tapply(X, X > 0, mean)
#FALSE TRUE
#-73.0 47.5
Если вы хотите присвоить значениям правильные имена меток.
tapply(X, ifelse(X > 0, 'positive', 'negative'), mean)
#negative positive
# -73.0 47.5