有没有更简单的方法将数字转换为字符串?

Ren*_*ger 1 lambda r vector

a 是R中的向量

> a <- c(1, 2, 3, 3, 2, 3, 1, 2, 1)
Run Code Online (Sandbox Code Playgroud)

我希望"翻译"成一个(临时的)字符串向量,以便1成为"foo",2成为"bar"3变成"baz".

我可以用sapply:

> sapply(a, function(x) {if (x==1) return ('foo'); if (x==2) return ('bar'); return ('baz')})

[1] "foo" "bar" "baz" "baz" "bar" "baz" "foo" "bar" "foo"
Run Code Online (Sandbox Code Playgroud)

但是,我认为应该有另一种方法可以做到这一点(我认为是滥用)sapply.是这样的吗?

nic*_*ola 5

试一试:

c("foo","bar","baz")[a]
#[1] "foo" "bar" "baz" "baz" "bar" "baz" "foo" "bar" "foo"
Run Code Online (Sandbox Code Playgroud)