R:按名称划分的子集向量

R:按名称划分的子集向量,r,vector,subset,R,Vector,Subset,我有一个具有不同名称和值的向量。它被称为复合材料: GSM12 GSM13 GSM15 GSM16 GSM17 0.1234 9.345 8.888 5.345 1.234 我还有第二个向量,它的名字很重要,我只想要那些名字和它的值。其他名称可以删除。这种载体称为活组织检查 GSM12 GSM15 GSM16 结果应该是这样的: GSM12 GSM15 GSM16 0.1234 8.888 5.345 我尝试了subset()函数,但没

我有一个具有不同名称和值的向量。它被称为复合材料:

GSM12    GSM13   GSM15   GSM16  GSM17
0.1234   9.345   8.888   5.345  1.234
我还有第二个向量,它的名字很重要,我只想要那些名字和它的值。其他名称可以删除。这种载体称为活组织检查

GSM12  GSM15   GSM16
结果应该是这样的:

GSM12    GSM15   GSM16
0.1234   8.888   5.345
我尝试了subset()函数,但没有成功。 我也试过:

composite[apply(sapply(biopsies, grepl, composite), 1, any)]
但它也不起作用。 那我怎么做呢?
谢谢

如果它是一个命名的载体和一个名称载体,
复合[活检]
应该可以工作。如果它不起作用,那么你应该做一个测试,这样我们就可以知道你有什么数据结构。这可能不是一个优雅的选择,但是你有没有尝试过使用
ifelse
?@Gregor谢谢!就这样!
x <- c(0.1234,   9.345,   8.888,  5.345,  1.234)
names(x) <- c("GSM12",  "GSM13",   "GSM15",   "GSM16",  "GSM17")
y <- c("GSM12", "GSM15",  "GSM16")
x[y]

 GSM12  GSM15  GSM16 
0.1234 8.8880 5.3450