R 获取引用列表的名称而不进行评估
我有一份报价单R 获取引用列表的名称而不进行评估,r,non-standard-evaluation,R,Non Standard Evaluation,我有一份报价单 quote(list(orders = .N, total_quantity = sum(quantity))) (我最终在data.table的j部分eval) 我想要的是提取该列表的名称,而不必计算表达式,因为在正确的环境之外,计算表达式会产生错误。该列表此时没有任何名称。它甚至不是一个列表。这是对list()函数的调用。但也就是说,您可以解析该函数调用并提取name参数。比如说 x <- quote(list(orders = .N,
quote(list(orders = .N,
total_quantity = sum(quantity)))
(我最终在data.table
的j
部分eval
)
我想要的是提取该列表的
名称
,而不必计算表达式,因为在正确的环境之外,计算表达式会产生错误。该列表此时没有任何名称。它甚至不是一个列表。这是对list()
函数的调用。但也就是说,您可以解析该函数调用并提取name参数。比如说
x <- quote(list(orders = .N,
total_quantity = sum(quantity)))
names(as.list(x))[-1]
# [1] "orders" "total_quantity"
x此时列表中没有任何名称。它甚至不是一个列表。这是对list()
函数的调用。但也就是说,您可以解析该函数调用并提取name参数。比如说
x <- quote(list(orders = .N,
total_quantity = sum(quantity)))
names(as.list(x))[-1]
# [1] "orders" "total_quantity"
x仅仅名称(x)[-1]
怎么样?这对我来说很奇怪,因为attributes(x)
返回NULL
。很好@RichScriven。一定有什么地方发生了强迫行为,但我找不到。缺少names属性是很有趣的。那么仅仅names(x)[-1]
呢?这对我来说很奇怪,因为attributes(x)
返回NULL
。很好@RichScriven。一定有什么地方发生了强迫行为,但我找不到。缺少names属性很有趣。