gpt4 book ai didi

替换矩阵中的多个值

转载 作者:行者123 更新时间:2023-12-04 11:04:38 27 4
gpt4 key购买 nike

a是一个矩阵:

a <- matrix(1:9,3)

> a
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

我想将所有 1 替换为好,所有 4 替换为中等,所有 9 替换为坏。

我使用以下代码:
a[a==1] <- "good"
a[a==4] <- "medium"
a[a==9] <- "bad"

> a
[,1] [,2] [,3]
[1,] "good" "medium" "7"
[2,] "2" "5" "8"
[3,] "3" "6" "bad"

它有效,但这是解决问题的最简单方法吗?我可以将这些代码合并为一个命令吗?

最佳答案

使用 cut() :

matrix(cut(a, breaks = c(0:9),
labels = c("good", 2:3, "medium", 5:8, "bad")), 3)

但对手动标签不太满意。

也许使用 match() ,更灵活:
res <- matrix(c("good", "medium", "bad")[match(a, c(1, 4, 9))], 3)
res <- ifelse(is.na(res), a, res)

关于替换矩阵中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39965885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com