2017-02-15 17 views
0

データフレーム内に複数のセルに格納しようとしています。しかし、私のコードは、最後のセル(dd配列上)にデータを格納しています。以下の私の出力を見てください。セルのデータフレームに値を格納

誰か私を修正してもらえますか?私が間違っていることを理解できません。事前に

おかげで、

MyData <- read.csv(file="Pat_AR_035.csv", header=TRUE, sep=",") 
dd <- unique(MyData$POLICY_NUM) 

for (j in length(dd)) { 
    myDF <- data.frame(i=1:length(dd), m=I(vector('list', length(dd)))) 
    myDF$m[[j]] <- data.frame(j,MyData[which(MyData$POLICY_NUM==dd[j] & MyData$ACRES), ],ncol(MyData),nrow(MyData))  
    } 

[[60]] 
NULL 

[[61]] 
NULL 

[[62]] 
NULL 

[[63]] 
     j OBJECTID DIVISION POLICY_SYM POLICY_NUM YIELD_ID LINE_ID RH_CLU_ID ACRES PLANT_DATE ACRE_TYPE CLU_DETERM STATE COUNTY FARM_SERIA TRACT 
1646 63  1646  8   MP  754033  3  20 39565604 8.56 5/3/2014  PL   A  3  35  109 852 
1647 63  1647  8   MP  754033  1  10 39565605 30.07 4/19/2014  PL   A  3  35  109 852 
1648 63  1648  8   MP  754033  1  10 39565606 56.59 4/19/2014  PL   A  3  35  109 852 
    CLU_NUMBER FIELD_ACRE       RMA_CLU_ID UPDATE_DAT Percent_Ar RHCLUID Field1 OBJECTID_1 DIVISION_1 STATE_1 COUNTY_1 
1646   3  8.56 F68E591A-ECC2-470B-A012-201C3BB20D7F 9/21/2014 63.4990 39565604 1646  1646   8  3  35 
1647   1  30.07 eb04cfc0-e78b-415f-b447-9595c81ef09e 9/21/2014 100.0000 39565605 1647  1647   8  3  35 
1648   2  56.59 5922d604-e31c-4b9d-b846-9f38e2d18abe 9/21/2014 92.1442 39565606 1648  1648   8  3  35 
    POLICY_N_1 YIELD_ID_1 RH_CLU_ID_ short_dist coords_x1 coords_x2 optional SHAPE_Leng SHAPE_Area ncol.MyData. nrow.MyData. 
1646  754033   3 39565604 5.110837 516747.8 -221751.4  TRUE 831.3702 34634.73   35   1757 
1647  754033   1 39565605 5.606284 515932.1 -221702.0  TRUE 1469.4800 121611.46   35   1757 
1648  754033   1 39565606 5.325399 516380.1 -221640.9  TRUE 1982.8757 228832.22   35   1757 

答えて

0
for (j in length(dd)) 

これはddを反復しない - それは、単一の番号反復処理:ddの長さを。繰り返しの多くはありません。あなたは、おそらく次または類似した何かを書くことを意味:

for (j in seq_along(dd)) 

しかし、あなたのコードでより多くの問題があります。たとえば、myDF変数はループ内で継続的に上書きされますが、これはおそらく意図したとおりではありません。代わりに、おそらくlapplyステートメントでオブジェクトを作成し、ループを避ける必要があります。

+0

(jはseq_along(dd)にjを追加しましたが、出力は同じです。あなたは、ラッピー機能の使い方を教えてください。ありがとう、 – user3408139

関連する問題