我有向量Xval
,index
如下
Xval <- c(-10, 5, 25, 10, 5, 21, 48, 4, 57, 14, 10, 15)
index <- c(1, 2, 2, 1, 3, 1, 3, 3, 1, 2, 1, 1)
我想替换索引值条件 Xval_mean
Xval_mean <- tapply(Xval, index, mean)
# 1 2 3
# 17.16667 14.66667 19.00000
替换的索引值通过1
为其Xval_mean
最大,通过2
对其Xval_mean
是最小值,并且通过3的中间值Xval_mean
。我可以分别为 max 和 min 做
index[index == which.max(Xval_mean)] <- 1
index[index == which.min(Xval_mean)] <- 2
对于 的中间值Xval_mean
,索引应该是3
。我需要一起做。任何帮助表示赞赏
你可以试试 :
val <- names(c(which.max(Xval_mean), which.min(Xval_mean)))
val <- c(val, setdiff(names(Xval_mean), val))
index <- match(index, val)
index
#[1] 3 2 2 3 1 3 1 1 3 2 3 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句