Использование ore.groupApply с функцией квантиля, создающей нечетный тип данных R

Я полагаю, что могу неправильно использовать функцию quantile() внутри ore.groupApply(), но не могу понять, что происходит не так. Если вместо этого я использую median(), все работает так, как я ожидаю. Но с помощью quantile() я получаю структуру данных, которая не позволяет мне получить доступ к 5 отдельным числам для каждой записи. Вот мой R-код:

quant_results <- ore.groupApply( endOfTestBuckets, 
                                 INDEX=endOfTestBuckets$compositeIndex,
                                 function(dat) {
                                   quantile( dat$TOTALCOUNT);
                                 }
                               );
return (ore.pull(quant_results));  

Я группирую на основе поля CompositeIndex и вычисляю квантиль поля TOTALCOUNT. Затем я загружаю результаты из ORE в R. Вот пример:

quant_results  Large list (159173 elements...)
 100_1013382: Named num [1:5] 0 10 20 30 40
 .. - attr(*, "names")= chr [1:5] "0%" "25%" "50%" "75" ...
 etc.

Я могу найти составной индекс. Например, имена( quant_results[1]) равны «100_1013382». Но что бы я ни делал, я не могу получить числа 0, 10, 20, 30 и 40. На самом деле typeof( quant_results[1]) — это список, а length( quant_results[1]) равен 1. А если Подиндекс, такой как [1][1], не помогает.

Как я уже сказал, если вместо этого я использую median(), я могу получить медианное значение каждой записи. Поэтому я думаю, что проблема в том, что quantile() возвращает список чисел.

Любые идеи? Спасибо.


person Bill Jurasz    schedule 11.10.2016    source источник


Ответы (1)


Наконец нашел. Вы должны использовать нечетную нотацию с двойной скобкой. [[1]][[3]] например, дает вам медианное значение (третье число) первой записи.

person Bill Jurasz    schedule 11.10.2016