用数字R替换列中的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用数字R替换列中的字符相关的知识,希望对你有一定的参考价值。
我有一个矩阵,最后一列包含字符:
A
B
B
A
...
我想将A替换为A,将B替换为B.预期结果应为:
1
2
2
1
...
答案
如果你100%自信只出现"A"
和"B"
sample_data = c("A", "B", "B", "A")
sample_data
# [1] "A" "B" "B" "A"
as.numeric(gsub("A", 1, gsub("B", 2, sample_data)))
# [1] 1 2 2 1
另一答案
使用factor
或简单的查找表会更灵活:
sample_data = c("A", "B", "B", "A")
推荐的:
as.numeric(factor(sample_data))
# [1] 1 2 2 1
可能的选择:
as.numeric(c("A" = "1", "B" = "2")[sample_data])
# [1] 1 2 2 1
以上是关于用数字R替换列中的字符的主要内容,如果未能解决你的问题,请参考以下文章