如何反转数值向量的级别

问题描述 投票:0回答:1

我有一个包含 55 个数字对象的向量,对象的值从 1 到 7。我需要反转对象的值,以便 1 变成 7,2 变成 6 等等。我的代码不起作用。我尝试为具有特定值的对象分配反向值 df$PS[df$PS==1] <- 7 but it didn't work

r object vector rstudio reverse
1个回答
0
投票

我们可以使用向量的

rev
ersed 级别创建一个命名索引。 然后将索引拼接(
!!!
)在
recode

#example data
vector <- rep(1:7, 2)

vector
 [1] 1 2 3 4 5 6 7 1 2 3 4 5 6 7

# create the index with reversed levels
levels <- 1:7
index <- setNames(rev(levels), levels)
index
1 2 3 4 5 6 7 
7 6 5 4 3 2 1 

# recode the values
recode(vector, !!!index)
 [1] 7 6 5 4 3 2 1 7 6 5 4 3 2 1

© www.soinside.com 2019 - 2024. All rights reserved.