繁体   English   中英

字符到 R 中的向量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM