我有一个包含数字元素的向量,如下所示:
jnk1<-c(0,2,1,3,4,2,1,2)
在另一个字符向量中,我想分配与数字向量 jnk1 的每个元素相对应的颜色。
m<-c("red","green","blue","brown","purple","green","blue","green")
我使用 for 循环编写了以下代码来自动化该过程:
m<-as.character()
for (i in 1:length(jnk1)){
for (j in 1:length(jnk1)){
for (k in 1:length(jnk1)){
for (l in 1:length(jnk1)){
for (o in 1:length(jnk1)){
if (jnk1[i]==0){
m[i]<-c("red")}
if (jnk1[j]==1){
m[j]<-c("blue")}
if (jnk1[k]==2){
m[k]<-c("green")}
if (jnk1[l]==3){
m[l]<-c("brown")}
if (jnk1[o]==4){
m[o]<-c("purple")}}}}}}
上面的代码可以完成少量迭代的工作,但对于较大的迭代,它的效率非常低且耗时。是否可以使用更高效的代码完成工作?