私はすべて同じ構造のリストを持っており、2番目の層の各リストの1つの要素を変更したいと思います。言い換えれば、私はオブジェクトx、y & zを持つ単一のリストを持っています。このリストは別のリストで複数回繰り返されます。これらのリストのそれぞれをxに変更する必要があります。これを行う最善の方法は何ですか?lapplyでリストのリストを変更する
私の現在のアプローチは、私が望む変更を行い、リストを再作成する小さな関数を作成することです。しかし、これを行う簡単な方法があると私に思い出させる何かがありますか?
以下のコードは、私のおもちゃの例ではうまくいくアプローチを示していますが、実際のコンテキストはオブジェクトがより複雑なので、1つの値を変更するだけで何度も再作成する必要はありません。私はそれをこのようにすることができた、ちょうど畳み込まれて感じる。
l = list(x = 1:3, y = "a", z = 9)
test = list(l, l, l)
standardize = function(obj){
obj$x = obj$x/max(obj$x)
list(obj$x, obj$y, obj$z)
}
lapply(test, function(e) standardize(e))
大変感謝!今はちょっと馬鹿だと感じる! – SamPassmore