2014-03-01 30 views
0

二進制數向量I有一個字符向量和一個二進制數矢量等:產品字符向量和R中

char <- paste("item", 1:4, sep="") 
bnum <- c(1, 0, 0, 1) 

,我希望有一個像初級講座結果:

[1] "item1" 0 0 "item4" 

事實上,我的最終目標是生成:

[1] "item1-item4" 

我想任務一生成向量「ans」,那麼c第二項任務將是:

ans<- c("item1",0,0,"item4","item5") 
ans2<-ans[ans!=0] 
n<-length(ans2) 
ans3<-ans2[1] 
for (i in 2:n){ 
    ans3 <- paste(ans3,ans2[i],sep="-") 
} 

感謝您的幫助。

回答

2
char[as.logical(bnum)] 

paste(char[as.logical(bnum)], collapse="-") 
#[1] "item1-item4" 
+0

那正是我想要的!謝謝! – useR

1
char <- paste("item", 1:4, sep="") 
bnum <- c(1, 0, 0, 1) 

paste(char[bnum == 1], collapse = '-') 
+0

非常感謝您的幫助! – useR