因此有一个名为DAAG的图书馆,里面有关于运动员的一些统计信息,称为“ ais”。我想根据运动为几个子集计算一些统计数据。然后,我想将所有这些组的统计数据放在一起,并将所有这些统计数据放到一个数据结构中。
使用R中的以下代码,我已经生成了2个列表(按运动分组1个汇总,使用自定义FUN汇总1个)
SELECT id_group, GROUP_CONCAT(names SEPARATOR ' ') AS names
FROM groups
JOIN group_name USING (id_group)
JOIN names USING (id_name)
现在,我想合并这些列表,但是常规列表不起作用。尽管两者的类型都是列表,但它们似乎是不同的:
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)
这两个列表为何如此不同?以及如何合并它们以得到1个整齐的列表:
> 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
OZT @ jens-buysse