假设我有一个ggplot 2Map:
mapping = ggplot2::aes(x=ifelse(a, 1, 2), y=a*b)
mapping
美学Map:
x
-〉ifelse(a, 1, 2)
y
-〉a * b
Map由用户提供,因此可以是任何内容。我希望提取引用的变量,因为需要这些变量来获取数据并准备数据框。由于大小限制,我不希望在数据框中包括所有可能的列-仅包括将在可视化中使用的列。
基本上我需要一个函数f()
,这样:
f(mapping) == c('a', 'b')
提取文本本身非常容易:
一个二个一个一个
但是我不知道如何从字符串中获取变量/列名。
2条答案
按热度按时间pvcm50d11#
您可以使用底数R的
all.vars
,而无需参考数据框。dgtucam12#
只要所有变量位于同一框架/环境中,您就可以执行以下操作: