2017-02-15 28 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