バックテックはエスケープする手段に過ぎず、そうでなければエスケープされていないと使用できなかったということを理解しています。リスト名を参照するためにバッククォートを使用する1つの例は、スペースを含む名前の場合です:
lst <- list(1, 2, 3)
names(lst) <- c("one", "after one", "two")
あなたが番号2を含むリストの要素を参照したい場合は、使用してこれを行うことができます:
lst[["after one"]]
しかし、あなたはバッククォートを使用する必要がありますドル記号表記を使用する場合:
lst$`after one`
更新:
私はちょうどSOの周りに突き刺し、this postあなたと同様の質問について議論しました。それ以外の場合、変数名が禁止されるたびに、変数名のバッククォートが必要です。 Spacesは一例ですが、予約されたキーワードを変数名として使用しています。あなたのケースでは
if <- 3 # forbidden because if is a keyword
`if` <- 3 # allowed, because we use backticks
:
あなたのリストには名前が数でを開始要素を持っています。 Rの変数名の規則はかなり甘いですが、数字で始めることはできません。したがって、数字で始めることはできません。
1KG_1_14106394 <- 3 # fails, variable name starts with a number
KG_1_14106394 <- 3 # allowed, starts with a letter
`1KG_1_14106394` <- 3 # also allowed, since escaped in backticks
それは意味があります。アンダースコアが問題になると思いますか?リスト名の中には、 '。 '$ variant.111'と同じですが、それは特別な賢さですか? – avari
@avari私は自分の答えを更新しました。アンダースコアは問題ありません。問題は数値で始まる変数名です(多くのプログラミング言語では許可されていません)。 –
ああ!再度、感謝します。私はリストの名前を残すことを好むだろう(彼らは私の選択ではなく、unfortunetly)、彼らは正しく一致するようにエスケープされているので、 'match'のような関数で使うべきでしょうか? – avari