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.是这样的吗?
试一试:
c("foo","bar","baz")[a]
#[1] "foo" "bar" "baz" "baz" "bar" "baz" "foo" "bar" "foo"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |