2013-10-03 9 views
15

名前にバックティックを含む変数を作成すると、バックティック構文を使用して変数にアクセスする方法はありますか? ?Quotesはあなただけ(付属)表に記載されている文字をエスケープすることができますことを言うので変数名のバックティック

assign("a`b", 5) 
get("a`b") 
#[1] 5 

# The attempts below all end in various errors 
# `a`b` 
# `a``b` 
# `a\\`b` 
+4

はなぜ、特にあなたはそれがバッククォートを使用してアクセスしようとしていますか?引用符で間違っていると、これについて別の方法がないと確信していますか? –

+0

答えは1つの単語に簡略化できると思います。 – eddi

+0

あなたはそのような名前に慣れていますが、それを変数に代入して、その変数を 'get(。)'変数 –

答えて

17

あなたのすべての試みは、さまざまなエラーで終わります。 "`"はそのテーブルにありません。

あなたはしかし"`"の六角、オクタル、などの表現を使用することができます。

> `a\x60b` # hex 
[1] 5 
> `a\140b` # octal 
[1] 5 
+0

+1そして、 'print( 'a \ x60b')' – Frank

+0

しかし、列名のバッククォートがどこにあるのかわからないのなら、どうしたらいいですか? 'gsub(' ''、' \ x60 '、colnames)'を実行すれば十分でしょうか? –

+0

リンクされたヘルプバージョンはR-devel用です。実際にはエスケープ可能な文字としてバッククォートが含まれていますので、これで間もなく簡単なエスケープが始まります。 – eddi