粘贴并获取相应变量的值

时间:2019-12-08 18:07:14

标签: r

我试图从eval解析中获取价值,但我没有得到价值,反而得到错误消息为Error in file(filename, "r") : cannot open the connection。我如何动态传递并获取价值。请帮助

ab_cc_dd = 55.4
gm = "ab"

代码: df <- data.frame(gm, eval(parse(paste(gm,"_","cc_dd",sep=''))))

预期产量

>df

ab  55.4

2 个答案:

答案 0 :(得分:2)

我们需要get而不是eval(parse

data.frame(col1 = gm,col2 = get(paste0(gm,"_cc_dd")))
#   col1 col2
#1   ab 55.4

或使用tidyverse

library(dplyr)
library(stringr)
tibble(col1 = gm, col2 = !! rlang::sym(str_c(gm, "_cc_dd")))
# A tibble: 1 x 2
#  col1   col2
#  <chr> <dbl>
#1 ab     55.4

答案 1 :(得分:2)

parse的第一个参数是file。因此,它正在寻找具有该名称的文件。您想将参数传递给text

df <- data.frame(gm, eval(parse(text = paste(gm,"_","cc_dd",sep=''))))