如何在R中为向量中的对象分配不同的值

问题描述 投票: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
投票

我们可以使用向量的反转级别创建一个命名索引。 然后将索引拼接(

!!!
)在
recode

vector <- rep(1:7, 2)

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

levels <- 1:7
index <- setNames(rev(levels), levels)

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.