【发布时间】:2018-01-24 23:51:27
【问题描述】:
假设向量
vector<-c( 0.096846906, 0.068149926, -0.019938431, -0.095515090, -0.109936195, -0.006755265, -0.207243555, 0.117235435, -0.036333873, -0.156043650, -0.334150484,
0.141990040, -0.116270635, 0.079373531, 0.070359814, 0.090415147, 0.046807444, -0.024908308, 0.022005548, 0.015559027, 0.065343488, 0.039524657,
0.077209216, 0.051124695, 0.076794957, -0.059121977, 0.071967601, 0.042357348, 0.039801927, 0.053932640, -0.036346802, -0.070258993, -0.105611663,
-0.138738161, -0.044395825, -0.194363631, -0.127153662, 0.052912436, 0.163879916, 0.087960810, 0.005298789, -0.191104683, 0.113214756, 0.045232380)
mean=-0.007702101。我想选择离平均值最远的值。例如,假设距离平均值最远的 10 个值。
我使用这段代码来获取离平均值最远的值:
sort(abs(vector-mean(vector)))
所以基本上现在我有一系列有序的差异。但是我找不到一种方法来获取距离最高的值(来自名为:vector 的数据)(同样是最远的 10 个)。我确信这很简单,但我真的被困住了!
【问题讨论】:
-
你的意思是
vector[which.max(abs(vector - mean(vector)))]? -
是的!但不要只选择一个...选择 10 个最极端的(或者如果可能的话)。甚至是最极端的 20 个等。 *我应该编辑问题以使其清楚!
-
很多方法...也许
vector[head(order(abs(vector - mean(vector)), decreasing = TRUE), 10)] -
是的!抱歉回复晚了!!!