マトリックス(オブジェクト)名がリストに保持されているマトリックスのセットにデータを入力しようとしています。get()を使用して指定された名前のオブジェクトを返すことができますが、get()を使用して入力しようとしている行列オブジェクトを定義すると、関数の問題が発生します。
#Create list of matrix names:
list.names <- c("m.1")
#Create matrix object
m.1 <- matrix(nrow=2,ncol=2)
#Return matrix m.1 from the list.names using get(). Works great!
get(list.names[1])
#Populate m.1 with some values. Doesn't work.
get(list.names[1]) <- c(1,2,3,4)
したがって、コードの最後の行で、エラーが発生します。
関数「get<-」が見つかりませんでした
同様に、次を使用してm.1を呼び出すことができます。
eval(as.name(list.name[1]))
しかし、マトリックスにデータを入力しようとすると、Rは同様の「関数が見つかりませんでした」エラーを返します。
誰かが私のアプローチのエラーをここで説明できますか?
編集/更新:
ですから、ここに投稿するための質問を単純化しようとして、私がやろうとしていることを単純化しすぎたのではないかと気づきました。
したがって、実際には、一連の行列内の要素にデータを入力しようとしています。行列の名前はlist.namesオブジェクトに含まれています。ネストされたfor()ループを使用して、行列内の各要素にデータを入力しています。
したがって、実際には、私の問題はより正確に次のように記述されます。
get(list.names[1])[1,1] <- some_value
いくつかの返信では、元の投稿に基づいて割り当てを使用することを提案していますが、オブジェクト全体ではなくオブジェクト内の要素を「割り当て」ようとしているため、このアプローチは機能しません。
混乱させて申し訳ありません。