Функция R: aggregate () производит разные выходы в зависимости от синтаксиса вызова [duplicate]

В PHP вам нужно либо использовать функции multibyte , либо включить mbstring.func_overload . Таким образом, такие вещи, как strlen, будут работать, если у вас есть символы, которые принимают более одного байта.

Вам также потребуется определить набор символов ваших ответов. Вы можете использовать AddDefaultCharset, как указано выше, или написать PHP-код, который возвращает заголовок. (Или вы можете добавить тег META в свои HTML-документы.)

37
задан Ryan Walker 30 May 2013 в 20:43
поделиться

2 ответа

Хороший вопрос, но, на мой взгляд, это не должно было привести к головной боли отладки major , поскольку она достаточно четко документирована в нескольких местах на странице руководства для aggregate.

Сначала в разделе использования:

## S3 method for class 'formula'
aggregate(formula, data, FUN, ...,
          subset, na.action = na.omit)

Позже в описании:

na.action: функция, которая указывает, что должно происходят, когда данные содержат значения NA. По умолчанию следует игнорировать отсутствующие значения в данных переменных.


Я не могу ответить на , почему режим формулы был написан по-другому - это что-то авторам авторам придется ответить --- но используя приведенную выше информацию, вы, вероятно, можете использовать следующее:

aggregate(.~Name, M, FUN=sum, na.rm=TRUE, na.action=NULL)
#   Name Col1 Col2
# 1 name    1    2
44
ответ дан A5C1D2H2I1M1N2O1R2T1 27 August 2018 в 22:45
поделиться

Если вы хотите, чтобы версия формулы была эквивалентной, попробуйте это:

M = data.frame( Name = rep('name',5), Col1 = c(NA,rep(1,4)) , Col2 = rep(1,5))
aggregate(. ~ Name, M, function(x) sum(x, na.rm=TRUE), na.action = na.pass)
16
ответ дан jenesaisquoi 27 August 2018 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: