如何在循环中获取字符串的指定数值?

时间:2017-09-20 23:48:40

标签: r

在下面的代码中,我想在pattern[i]中获取get_number的数字,而不是模式本身。感谢

pattern <- c("Ago2_1","Ago2_2", "WT_1", "WT_2", "DCLd_1", "DCLd_2")

  ##STATS  
  Ago2_1    <-  299117512
  Ago2_2    <-  29564885
  DCLd_1    <-  67004254
  DCLd_2    <-  77682528
  WT_1      <-  27073135
  WT_2      <-  113214012

for ( i in 1:length(pattern)){
get_number <- pattern [i]
}

2 个答案:

答案 0 :(得分:1)

您可以使用get()。在for循环中,ipattern中的字符串之一。因此,只需使用get()检索其数值并将其存储在某个位置(在此示例中,在列表中)。

pattern <- c("Ago2_1","Ago2_2", "WT_1", "WT_2", "DCLd_1", "DCLd_2")

##STATS  
Ago2_1    <-  29911751
Ago2_2    <-  29564885
DCLd_1    <-  67004254
DCLd_2    <-  77682528
WT_1      <-  27073135
WT_2      <-  113214012

# initialize a collector
get_number <- list()
for ( i in pattern){
  get_number[[(length(get_number) + 1)]] <- get(i)
}

get_number

[[1]]
[1] 29911751

[[2]]
[1] 29564885

[[3]]
[1] 27073135

[[4]]
[1] 113214012

[[5]]
[1] 67004254

答案 1 :(得分:0)

我们可以使用mget返回list

中的值
mget(pattern)
#$Ago2_1
#[1] 29911751

#$Ago2_2
#[1] 29564885

#$WT_1
#[1] 27073135

#$WT_2
#[1] 113214012

#$DCLd_1
#[1] 67004254

#$DCLd_2
#[1] 77682528