在R中反转/记录调查项目

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

我正在研究R编写的有关CVS的调查文件。在分析之前,我想反转4李克特量表上某些项目的编码。将1变成4、2变成3、3变成2和4变成1。

有关如何执行此操作的任何想法?

r reversing
1个回答
0
投票

一个选项是从4中减去(假设这是唯一的值)

4- v1 + 1
#[1] 2 2 1 2 3 2 4 3 1 3 3 4 1 4 1 2 1 4 4 1

与原始向量相比

v1
#[1] 3 3 4 3 2 3 1 2 4 2 2 1 4 1 4 3 4 1 1 4

可以在matrix上应用相同的代码。在对列[, 5:10]进行子集化之后,进行计算,并通过分配(<-)来更新相同的列

m1[, 5:10] <- 4 - m1[, 5:10] + 1

如果元素更多,并且只想将值1更改为4,则>]

i1 <- v1n %in% 1:4
v2 <- v1n
v2[i1] <- 4- v2[i1] + 1

数据

set.seed(24)
v1 <- sample(1:4, 20, replace = TRUE)
set.seed(48)
v1n <- sample(1:9, 20, replace = TRUE)

set.seed(24)
m1 <- matrix(sample(1:4, 20 * 10, replace = TRUE), ncol = 10)
© www.soinside.com 2019 - 2024. All rights reserved.