【发布时间】:2018-08-07 01:04:36
【问题描述】:
我目前堆满了我疯狂的大型数据集。我想计算 R 中的平庸中位数,但我希望它用于某个图层和区域。例如,每个区域 A 和层 0 -5 的列 dC 的中值。有谁知道该怎么做?请找到我的数据集的头部。提前谢谢了。 1
【问题讨论】:
-
您需要分享您的数据和代码样本
我目前堆满了我疯狂的大型数据集。我想计算 R 中的平庸中位数,但我希望它用于某个图层和区域。例如,每个区域 A 和层 0 -5 的列 dC 的中值。有谁知道该怎么做?请找到我的数据集的头部。提前谢谢了。 1
【问题讨论】:
您可以使用aggregate 执行此操作。这是一个小例子。
x = rnorm(100)
y = sample(LETTERS[1:3], 100, replace=TRUE)
z = sample(LETTERS[4:6], 100, replace=TRUE)
aggregate(x~y+z, FUN=median)
y z x
1 A D -0.11114506
2 B D -0.29459743
3 C D -0.26080279
4 A E -0.27316768
5 B E -0.44661497
6 C E -0.11971012
7 A F 0.36835509
8 B F -0.08730946
9 C F 0.08759923
【讨论】:
获取满足过滤条件的数据框行的子集,然后获取该子集的dC 列的median,例如:
> median(df[df$Layer == '0 - 5' && df$Zone == 'A1',]$dC)
【讨论】: