R 如何重命名值在一定范围内的条目?
例如,我试图将数据集xpriorjail中V26列中的所有值10、11、12、13、14重命名为“Happy” 由于某种原因,此代码不起作用R 如何重命名值在一定范围内的条目?,r,R,例如,我试图将数据集xpriorjail中V26列中的所有值10、11、12、13、14重命名为“Happy” 由于某种原因,此代码不起作用 xpriorjail$V26[xpriorjail$V26 >= 10 & xpriorjail$V26 <= 12] <- "Happy" xpriorjail$V26[xpriorjail$V26>=10&xpriorjail$V26下面是一个使用cut的示例和一个使用factor的示例,如我在评论中所述。我建议您创建一个新
xpriorjail$V26[xpriorjail$V26 >= 10 & xpriorjail$V26 <= 12] <- "Happy"
xpriorjail$V26[xpriorjail$V26>=10&xpriorjail$V26下面是一个使用cut
的示例和一个使用factor
的示例,如我在评论中所述。我建议您创建一个新列,而不是覆盖现有列,以便在需要时可以轻松访问原始数值
样本数据
选项2:因子
+级别
set.seed(1)
V26 <- sample(4, 20, replace = TRUE)
V26
# [1] 2 2 3 4 1 4 4 3 3 1 1 1 3 2 4 2 3 4 2 4
V26Cut <- cut(V26, breaks = c(0, 2, 4),
labels = c("Happy", "Sad"))
V26Cut
# [1] Happy Happy Sad Sad Happy Sad Sad Sad Sad Happy Happy
# [12] Happy Sad Happy Sad Happy Sad Sad Happy Sad
# Levels: Happy Sad
V26Factor <- factor(V26)
levels(V26Factor) <- list(Happy = as.character(1:2), Sad = as.character(3:4))
V26Factor
# [1] Happy Happy Sad Sad Happy Sad Sad Sad Sad Happy Happy
# [12] Happy Sad Happy Sad Happy Sad Sad Happy Sad
# Levels: Happy Sad
V26Factor我设置它时它运行正常。错误是什么?OP想要重命名所有值10、11、12、13、14,但他的代码片段只考虑10、11和12:xpriorjail$V26[xpriorjail$V26>=10&xpriorjail$V26