[英]Character to vector in R
我有 3 个二进制向量。
a<-c(0,0,1,0)
b<-c(1,0,0,0)
c<-c(0,0,0,1)
我需要从 3 个向量中选择 2 个并检查它们是否是子集。 我使用了组合函数如下:
> combination<-combn(letters[1:3], 2)
> combination
[,1] [,2] [,3]
[1,] "a" "a" "b"
[2,] "b" "c" "c"
但问题是 - 所有组合的元素都是字符。 如何将这些元素(字母)连接到二进制向量?
例如,如果我调用combination[1,1]
我可以获得二进制向量a (不是“a”)。
您可以使用get
按名称搜索对象。
get(combination[1,1])
#[1] 0 0 1 0
或mget
更多:
do.call(cbind, mget(combination[,1]))
# a b
#[1,] 0 1
#[2,] 0 0
#[3,] 1 0
#[4,] 0 0
我建议为此制定一份清单。 它很可能会让生活更轻松。
vec_list <- list(a = a, b = b, c = c)
vec_list[combination[1,1]]
这给出了:
$a
[1] 0 0 1 0
您可以根据需要轻松地将其转换为data.frame()
、向量或任何需要的内容。
我们也可以用data.frame
包裹
data.frame(mget(combination[,1]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.