2017-06-05 121 views
1

我有一个函数,它接受零和一的载体,例如:字符串转换为数字矢量

foo(c(1,1,1,0,1,1)) 

但在某些情况下,有100多个号码,我必须手动添加所有逗号。是否有任何预定义的函数来将字符串转换为这样的向量?事情是这样的:

foo(unknown_function("111011")) 

回答

2

我们可以使用paste

foo <- function(vec){ 
    paste(vec, collapse="") 
    } 

foo(c(1,1,1,0,1,1)) 
#[1] "111011" 

如果我们需要做反向

foo1 <- function(str1){ 
     as.integer(unlist(strsplit(str1, ""))) 
    } 
res <- foo1("111011") 
res 
#[1] 1 1 1 0 1 1 

,也可以是OP意味着

dput(res) 
+0

嗨,谢谢你的回答,但我的意思是另一个方向。 foo仍然应该使用向量c(1,1,1,0,1,1)。但是我正在寻找另一个将字符串“111011”转换为向量c(1,1,1,0,1,1)的函数。 – Brayn

+0

@Brayn我已经更新了答案 – akrun

+1

太棒了。这就是我要找的。非常感谢。 – Brayn