あなたの問題は参照クラスとは何の関係もないと思います。むしろそれはスコープに関するものです。次の例を考えてみましょう。まず、ワークスペースからすべての変数を削除し、次の定義を作成しますA。
rm(list=ls())
A = setRefClass("A", fields=list(x="numeric"))
次に、関数を作成して呼び出しますf。
f = function() {
  x1 = 1
  a1 = A$new(x=10)
  x2 <<- 2
  a2 <<- A$new(x=10)
}
f()
<<-との主な違い=は
  演算子'<<-'および'->>'は通常、関数でのみ使用され、割り当てられている変数の既存の定義を親環境で検索します。そのような変数が見つかった場合(およびそのバインディングがロックされていない場合)、その値が再定義されます。それ以外の場合、割り当てはグローバル環境で行われます。
  
  ヘルプページから:? "<<-"
したがって、を使用して作成された変数=は、グローバル環境では見つかりません
R> x1
Error: object 'x1' not found
R> a1
Error: object 'a1' not found
しかし、他の変数は次のとおりです。
R> x2
[1] 2
R> a2
Reference class object of class "A"
Field "x":
[1] 10