0
これは非常に基本的な質問ですが、私はどこでも直接答えを見つけることはできません。私の実際のコードは、空間ポリゴンデータフレームのリストに対していくつかの計算を実行し、計算されたメトリックをあらかじめ割り当てられた行列にスロットすることです。私の問題は、ループの後に再び行列を呼び出すと、まだ空です。私はこの問題を維持するおもちゃのコードを作成しました。行列を行単位で塗りつぶすR
#create the columns to be filled
empty<-matrix(,nrow=4,ncol=3)
colnames(empty)<-c("NF", "PF", "AA")
lapply(1:4, function(x){
NF<-2
#Proportion of forest
PF<- 4
#Average fragment area
AA<- 6
#plug them into my awaiting columns
empty[x,]<-c(NF, PF, AA)
})
head(empty)
戻り
NF PF AA
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
[4,] NA NA NA
'empty'は' lapply'呼び出しの範囲内でのみ更新され、決して返されません。したがって、あなたの地球環境に保存されている '空の'は何も変わりません。あなたの 'lapply'を明示的な' for'ループに変更すれば、うまくいくはずです。 – thelatemail
'マトリックス(c(2,4,6)、4,3、TRUE、リスト(NULL、c(" NF "、" PF "、" AA "))) – rawr
ゴルフマトリックス(1:3 * 2 (NF = 2、PF = 4、AA = 6))[rep({{}、{}}、{ (1,4)、] – rawr