評価

2017-05-03 23 views
0

ずに引用されたリストの名前を取得、私は私が望む何(I data.tablej一部で、最終的evalこと)評価

namesを抽出することで引用されたリスト

quote(list(orders = .N, 
      total_quantity = sum(quantity))) 

を持っています式を評価することなく、その式を評価する正しい環境の外にエラーが発生するため、そのリストの信頼性を向上させることができます。

答えて

4

リストにはその時点で名前がありません。それはリストでもない。これは、list()関数への呼び出しです。しかし、それはあなたがその関数呼び出しを解析し、名前パラメータを抽出することができると述べた。表現上のas.list()評価なし(名前の)リストに関数呼び出しをオンにする例

x <- quote(list(orders = .N, 
    total_quantity = sum(quantity))) 
names(as.list(x))[-1] 
# [1] "orders"   "total_quantity" 

ください。

+0

'names(x)[ - 1]'はどうでしょうか?これは 'attributes(x)'が 'NULL'を返すので私にとっては変です。 –

+0

良い点@RichScriven。どこかで強制的な強制が必要だが、私はそれを見つけることができない。 names属性の欠如は面白いです。 – MrFlick