2017-02-15 33 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)),但輸出仍然相同。你能告訴我如何使用lappy功能嗎?謝謝, – user3408139

相關問題