2017-12-27 10 views
0

データフレームに2つのforループの結果を格納しようとしています。私のコードでforループの出力をDataframe R

comp <- c(mp, ct, n158, out) 
    df <- data.frame() 
    for (i in length(comp)){ 
     lst <- comp[i] 
     d <- data.frame() 
     for (t in seq(1, sapply(lst, length))){ 
     ob <- sapply(lst, function(m) m[t]) 
     dt <- train_data[(train_data$ADDR_POSTALCODE == as.numeric(ob)),] 
     dt$AREA <- names(lst) 
     d <- rbind(d, dt) 
     } 
     df <- rbind(df, d) 
    } 

最初のループの結果は連結されないので、DおよびDFは、同じ値を含みます。コンプはDFが最後リスト「外側」の値が含まれている4

List of 4 
$ MP : num [1:3] 94107 94110 94114 
$ Center: num [1:3] 94102 941103 941104 
$ 158 : num 94158 
$ Outer : num [1:4] 94112 94122 94132 94143 

のリストですが、ループは、すべての4つのリストの結果を保存する必要があります。 誰かが間違いがどこにあるか知っていますか、私はそれを理解できませんでした。事前に感謝

+4

は、(使用して再現性の例を提供してください。 'dput') –

答えて

1

あなたはあなたの下の行(一度だけ値4との反復)での間違いがあります

for (i in length(comp)){ 

その行は次のようになります。

for (i in 1:length(comp)){ 
関連する問題