R: список из совокупности против обычного списка - PullRequest
0 голосов
/ 14 марта 2019

так что есть библиотека, DAAG, которая имеет некоторую статистику по атлетам, которая называется "ais".Я хочу подсчитать статистику для нескольких подмножеств на основе спорта.Затем я хочу собрать статистику для всех этих групп и объединить все это в единую структуру данных.

Я создал 2 списка (1 агрегирован по группам по видам спорта, 1 для общего числа сcustom FUN) с использованием приведенного ниже кода в R

library(DAAG)
data(ais)

sub4 <- subset(ais, sport=="Row" | sport=="Netball" | sport=="Tennis")

resultstats1 <- aggregate(x = sub4$ht,
          by = list(sub4$sport),
          FUN = function(x) c(mean = mean(x), sd = sd(x), min = min(x),
                              q1 = quantile(x, 0.25), median = median(x),
                              q3 = quantile(x, 0.75), max = max(x),
                              IQR = IQR(x)))


statistieken <- function(x){
  list(mean = mean(x), sd = sd(x), min = min(x),
    q1 = quantile(x, 0.25), median = median(x),
    q3 = quantile(x, 0.75), max = max(x),
    IQR = IQR(x))
}
resultstats2 <- statistieken(sub4$ht)

Теперь я хочу объединить эти списки, но обычные списки не работают.Несмотря на то, что typeof обоих является списком, они кажутся разными:

> resultstats1
  Group.1     x.mean       x.sd      x.min   x.q1.25%   x.median   x.q3.75%      x.max      x.IQR
1 Netball 176.086957   4.123580 168.600000 173.450000 176.000000 179.150000 183.300000   5.700000
2     Row 182.375676   7.798376 156.000000 179.300000 181.800000 186.300000 198.000000   7.000000
3  Tennis 174.163636   9.858121 157.900000 167.300000 175.000000 180.750000 190.800000  13.450000

> resultstats2
$mean
[1] 179.0662
$sd
[1] 7.936371
$min
[1] 156
$q1
   25% 
174.25 
$median
[1] 179.5
$q3
  75% 
183.4 
$max
[1] 198
$IQR
[1] 9.15

Почему эти два списка так сильно отличаются?И как я могу объединить их, чтобы получить 1 аккуратный список как таковой:

  Group.1     x.mean       x.sd      x.min   x.q1.25%   x.median   x.q3.75%      x.max      x.IQR
1 Netball 176.086957   4.123580 168.600000 173.450000 176.000000 179.150000 183.300000   5.700000
2     Row 182.375676   7.798376 156.000000 179.300000 181.800000 186.300000 198.000000   7.000000
3  Tennis 174.163636   9.858121 157.900000 167.300000 175.000000 180.750000 190.800000  13.450000
4   Total 179.0662     7.936371  156.00000 174.250000 179.500000 183.400000 198.000000   9.150000

OZT @ jens-buysse

...