我有一个字符向量和一个二进制数向量,如:
char <- paste("item", 1:4, sep="")
bnum <- c(1, 0, 0, 1)
我希望得到如下结果:
[1] "item1" 0 0 "item4"
确实,我的最终目标是产生:
[1] "item1-item4"
我认为任务1生成矢量“ans”,然后第二个任务的代码将是:
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="-")
}
感谢您的帮助。
答案 0 :(得分:2)
char[as.logical(bnum)]
paste(char[as.logical(bnum)], collapse="-")
#[1] "item1-item4"
答案 1 :(得分:1)
char <- paste("item", 1:4, sep="")
bnum <- c(1, 0, 0, 1)
paste(char[bnum == 1], collapse = '-')