R: Ошибка разбора даты при использовании Lubridate ymd () в функции R, тот же код работает вне написанной мной функции. - PullRequest
0 голосов
/ 09 марта 2019

Я новичок в переполнении стека и, возможно, не присоединился бы, если бы мог найти ответ на этот вопрос самостоятельно.

Я имею дело с довольно простой проблемой - это классическая задача разделения-применения-объединения. У меня есть таблица временных рядов, содержащая данные об окружающей среде за весь год (временные ряды). Тогда у меня есть отдельный тиббл, содержащий серию периодов времени (timeperiods).

(таймсерии)

Date           n Var1 Var2 Var3  Var4  Var5  Var6 Var7 Var8 Var9 Var10 Var11 Var12  Var13   Var14
   <date>     <int>  <dbl>  <dbl>  <dbl> <dbl> <dbl> <dbl>    <int>      <int>    <int> <int>   <int>   <int> <int> <int>
 1 2018-01-01   720   2.63  0.885   1.36  24.4  8.14  13.6        0        402      402   175       0     558   558   720
 2 2018-01-02   720   2.75  1.00    1.42  25.5 10.7   15.3        0        388      388   160       0     565   565   720
 3 2018-01-03   720   2.45  1.13    1.49  24.0 12.9   16.6        0        649      649   194       0     526   526   720

и т.д.. до конца 2018 года.

(периоды времени)

X   PLot  Lot F.Date H.Date 
1   1  A 1191  2018-01-09  2018-03-01 
2   2  B 1282  2018-01-10   2018-03-19 
3   3  C 1290 2018-02-18   2018-03-22
4   4  D 1295  2018-02-17   2018-03-26

и т.д.. до конца участков за год

Этот простой фрагмент кода отфильтрует столбец временных рядов по желаемому диапазону дат, а затем суммирует данные для PLot A.

A<-timeseries %>% filter(Date >= ymd("2018-01-09") & Date <=ymd("2018-03-01")) %>% summarize(n=n(),Var1=sum(Var1),Var2=sum(Var2),Var3=sum(Var3))

Возвращает столбик с правильными данными для диапазона дат.

Но когда я пытаюсь удалить диапазоны дат в списках, затем передаю их через функцию в качестве аргументов для быстрой фильтрации диапазонов дат, а не переписываю код снова и снова, получая ошибку синтаксического анализа.

Arg1 <- pull(timeperiods, PLot)
Arg2 <- pull(timeperiods, F.Date)
Arg3 <- pull(timeperiods, H.Date)

DateFilters<- function(Arg1, Arg2, Arg3)
  {
Arg1<-DailyRG7All2018 %>% filter(Date >= ymd("Arg2") & Date <=ymd("Arg3")) %>% summarize(n=n(),TotalPAR=sum(ATotalPAR,na.rm=T),TotalPPM=sum(Tppm,na.rm=T),TotalVPDinSpec=sum(VPD8to12,na.rm=T))
Arg1
}

DateFilters(Arg1,Arg2,Arg3)

Даже когда я указываю аргументы вместо того, чтобы вводить их ...

DateFilters(A,2018-01-09,2018-03-01)

в виде списков по-прежнему возвращает ошибку синтаксического анализа. Я перепробовал все варианты этой функции, включая кавычки и несколько изменений в различных функциях разбора даты. Ничто не похоже на работу. Я чувствую, что это что-то незначительное, но я просто не могу понять это.

Ошибка следующая

Предупреждающие сообщения: 1: Не удалось проанализировать все форматы. Форматы не найдены. 2: все форматы не удалось проанализировать. Форматы не найдены.

Привет, Сонни, вот вывод dput для периодов времени

> dput(PLotDates)
structure(list(PLot = 1:34, H.Date = structure(1:34, .Label = c("2018-03-01", 
"2018-03-19", "2018-03-22", "2018-03-26", "2018-03-28", "2018-04-12", 
"2018-04-25", "2018-05-17", "2018-05-31", "2018-06-04", "2018-06-07", 
"2018-06-20", "2018-07-04", "2018-07-12", "2018-07-26", "2018-08-01", 
"2018-08-03", "2018-08-27", "2018-09-05", "2018-09-10", "2018-09-24", 
"2018-10-01", "2018-10-03", "2018-10-09", "2018-10-29", "2018-11-08", 
"2018-11-14", "2018-11-30", "2018-12-05", "2018-12-10", "2018-12-11", 
"2019-01-02", "2019-01-15", "2019-01-21"), class = "factor"), 
    F.Date = structure(c(1L, 2L, 6L, 5L, 3L, 4L, 7L, 8L, 10L, 
    9L, 11L, 12L, 14L, 13L, 15L, 16L, 17L, 18L, 20L, 19L, 22L, 
    21L, 24L, 23L, 25L, 26L, 27L, 28L, 29L, 31L, 30L, 32L, 33L, 
    34L), .Label = c("2018-01-09", "2018-01-10", "2018-01-23", 
    "2018-02-09", "2018-02-17", "2018-02-18", "2018-03-09", "2018-03-21", 
    "2018-03-27", "2018-04-03", "2018-04-05", "2018-04-13", "2018-05-03", 
    "2018-05-04", "2018-05-24", "2018-06-08", "2018-06-11", "2018-06-21", 
    "2018-07-05", "2018-07-13", "2018-07-27", "2018-08-02", "2018-08-04", 
    "2018-08-10", "2018-08-28", "2018-09-06", "2018-09-11", "2018-09-27", 
    "2018-10-02", "2018-10-05", "2018-10-10", "2018-10-30", "2018-11-09", 
    "2018-11-15"), class = "factor")), class = "data.frame", row.names = c(NA, 
-34L))

вывод dput для временных рядов

> dput(timeseries)
structure(list(Date = structure(c(17532, 17533, 17534, 17535, 
17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544, 
17545, 17546, 17547, 17548, 17549, 17550, 17551, 17552, 17553, 
17554, 17555, 17556, 17557, 17558, 17559, 17560, 17561, 17562, 
17563, 17564, 17565, 17566, 17567, 17568, 17569, 17570, 17571, 
17572, 17573, 17574, 17575, 17576, 17577, 17578, 17579, 17580, 
17581, 17582, 17583, 17584, 17585, 17586, 17587, 17588, 17589, 
17590, 17591, 17592, 17593, 17594, 17595, 17596, 17597, 17598, 
17599, 17600, 17601, 17602, 17603, 17604, 17605, 17606, 17607, 
17608, 17609, 17610, 17611, 17612, 17613, 17614, 17615, 17616, 
17617, 17618, 17619, 17620, 17621, 17622, 17623, 17624, 17625, 
17626, 17627, 17628, 17629, 17630, 17631, 17632, 17633, 17634, 
17635, 17636, 17637, 17638, 17639, 17640, 17641, 17642, 17643, 
17644, 17645, 17646, 17647, 17648, 17649, 17650, 17651, 17652, 
17653, 17654, 17655, 17656, 17657, 17658, 17659, 17660, 17661, 
17662, 17663, 17664, 17665, 17666, 17667, 17668, 17669, 17670, 
17671, 17672, 17673, 17674, 17675, 17676, 17677, 17678, 17679, 
17680, 17681, 17682, 17683, 17684, 17685, 17686, 17687, 17688, 
17689, 17690, 17691, 17692, 17693, 17694, 17695, 17696, 17697, 
17698, 17699, 17700, 17701, 17702, 17703, 17704, 17705, 17706, 
17707, 17708, 17709, 17710, 17711, 17712, 17713, 17714, 17715, 
17716, 17717, 17718, 17719, 17720, 17721, 17722, 17723, 17724, 
17725, 17726, 17727, 17728, 17729, 17730, 17731, 17732, 17733, 
17734, 17735, 17736, 17737, 17738, 17739, 17740, 17741, 17742, 
17743, 17744, 17745, 17746, 17747, 17748, 17749, 17750, 17751, 
17752, 17753, 17754, 17755, 17756, 17757, 17758, 17759, 17760, 
17761, 17762, 17763, 17764, 17765, 17766, 17767, 17768, 17769, 
17770, 17771, 17772, 17773, 17774, 17775, 17776, 17777, 17778, 
17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, 
17788, 17789, 17790, 17791, 17792, 17793, 17794, 17795, 17796, 
17797, 17798, 17799, 17800, 17801, 17802, 17803, 17804, 17805, 
17806, 17807, 17808, 17809, 17810, 17811, 17812, 17813, 17814, 
17815, 17816, 17817, 17818, 17819, 17820, 17821, 17822, 17823, 
17824, 17825, 17826, 17827, 17828, 17829, 17830, 17831, 17832, 
17833, 17834, 17835, 17836, 17837, 17838, 17839, 17840, 17841, 
17842, 17843, 17844, 17845, 17846, 17847, 17848, 17849, 17850, 
17851, 17852, 17853, 17854, 17855, 17856, 17857, 17858, 17859, 
17860, 17861, 17862, 17863, 17864, 17865, 17866, 17867, 17868, 
17869, 17870, 17871, 17872, 17873, 17874, 17875, 17876, 17877, 
17878, 17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886, 
17887, 17888, 17889, 17890, 17891, 17892, 17893, 17894, 17895, 
17896), class = "Date"), Var1 = c(2.63396752938894, 2.75347512527271, 
2.44576231848606, 2.92329846404333, 2.76404328549935, 2.7401224966252, 
2.57408066653826, 2.38461439984406, 2.68969229771063, 4.10444347952931, 
3.19840148173855, 3.24072318468967, 2.73918079817639, 2.79130954638182, 
2.9132878719869, 2.50206764190512, 2.33597777920686, 2.48569538564608, 
2.42026366341919, 2.54663235205489, 2.18759241251985, 2.03311029823985, 
2.13063479222713, 2.25416618540259, 2.3512622807763, 2.25476910978873, 
1.84183786873543, 2.17462249049992, 2.01921783562594, 2.17675656241736, 
2.85464797016366, 2.21787141115634, 2.52558467244462, 2.12056691656703, 
2.07436876003362, 2.11338363120696, 2.12676704304253, 2.00567351379024, 
2.10853862804294, 1.99970441745735, 1.57606831053475, 1.81013786160427, 
2.18526045030418, 2.27018054555967, 1.89934968556931, 1.65471687924031, 
2.0930477519233, 1.67151157671434, 1.79544048272623, 1.57212090078958, 
1.86252434917741, 1.68029535377035, 1.66786198811889, 1.48535136739919, 
1.78595967498599, 1.81015326487395, 2.28566343131582, 2.19416962171773, 
2.26477473473059, 1.95461010419507, 1.75991920873157, 2.46901724429011, 
2.00067379153259, 1.94794634417507, 1.78768281871619, 1.87115999848252, 
1.96230814629716, 1.89165507225454, 1.89605760403181, 2.10179864616445, 
1.76903081037707, 2.06948949275308, 1.70119639550732, 2.21354399287553, 
2.23528732231979, 2.35199395937434, 2.27497071898388, 2.02007105623884, 
2.11607966185495, 2.0905057211012, 2.30007693244731, 3.17151102290307, 
2.37108203457551, 2.39159435683135, 2.55436888113877, 2.12710412499256, 
2.15956110615991, 1.97253632659473, 2.44256421081, 2.52400801372576, 
2.42478569708299, 2.61020214517048, 1.94474776082635, 2.09533853251975, 
2.08557399190678, 2.02783406948754, 2.1017770831291, 1.94462368561096, 
2.01275287856705, 1.99747607663796, 1.75142282412825, 1.95377932332726, 
1.654381344475, 1.44182891459427, 1.68459528761335, 1.33260085824537, 
1.59253403859247, 1.59604732582065, 1.59345323157965, 1.97108684152608, 
2.22156227129594, 2.68649060361254, 2.57192401737591, 2.10179864616445, 
1.49130744289335, 2.14657418078891, 2.30052182158779, 1.95737835272327, 
2.29292621455854, 2.90127842355752, 2.66743885671771, 2.44004928449689, 
1.82236589177118, 2.25938449329109, 2.19416962171773, 2.23590172667779, 
2.3062899794954, 2.37745088106858, 2.83852957854637, 2.05495292190054, 
1.9291874615192, 2.05115581764155, 2.07734010438648, 2.0519058919759, 
2.0609973279238, 2.01132716240597, 2.22896322438924, 2.34101192672281, 
1.86211061274347, 1.97900202416717, 2.47294266452186, 1.79083159483293, 
2.18280512326, 2.91317569108016, 2.61491158509876, 2.29312862112083, 
2.2174911881468, 2.30990966285641, 2.19146914277553, 2.10763903067066, 
1.71069454109026, 1.95727340776968, 2.39303632104719, 2.26391137209214, 
2.4189060566945, 2.35029072225291, 2.29509724713118, 2.67451802923138, 
2.66641918692408, 2.29751600242991, 2.76462652745031, 2.8488174881704, 
2.41690917170833, 2.45007349150282, 2.74963854142726, 2.73353553859735, 
2.69042095091682, 2.4947843190518, 1.98374696726608, 2.53555176842938, 
2.41952658787419, 2.63268554471458, 2.5280421405562, 2.04362235441137, 
1.94099565634676, 2.71719614391274, 2.89892592412593, 1.82391324317121, 
2.11581753052037, 2.35672049553734, 2.15913723301151, 3.3024046885863, 
1.85849099482988, 2.26881682712281, 2.0548529957984, 2.07650126711699, 
2.57663285240194, 2.69042095091682, 2.61063785486559, 2.52696585677785, 
2.66808516166046, 2.69430985295332, 2.60709102298998, 2.46234719486485, 
1.97272826260697, 2.4049173452468, 1.91585079870651, 2.50009151413806, 
2.51023203305316, 2.72191109395068, 2.22760539422912, 2.21067411617957, 
1.9966856295808, 1.86627050323117, 2.13261515319827, 1.75639435599321, 
2.03529155109331, 2.3292864360234, 2.25959779056386, 2.39003156505971, 
2.09644839653156, 1.65920819812358, 1.46308525599902, 1.96735264202291, 
2.16556543260908, 2.37481042063413, 2.54204887089646, 2.06200710922704, 
2.19997061562059, 1.86164718659575, 2.26391137209214, 2.186627916376, 
2.25995215759824, 2.20454197460954, 1.93159348080862, 2.13412450712132, 
1.64175089770292, 1.6100978791782, 1.2996352304406, 1.6529318529557, 
1.64035845168266, 1.52568449186879, 1.33157190178602, 1.49837063134135, 
2.12794863684622, 2.03525956042108, 1.75849366504217, 1.37673152507892, 
1.54490741296962, 1.58396959197896, 1.34324530180627, 1.59252333533811, 
1.68373539943079, 2.23474390858013, 1.57396982526248, 1.71493310654978, 
1.49910300586045, 1.4488231807658, 1.28942987121616, 1.66983237635917, 
1.65759457594128, 1.64964387136568, 1.42853982044051, 1.72528782781248, 
1.33520006407431, 1.39228890663695, 1.42465817636461, 2.04071752782494, 
1.65753621662965, 1.86271168937043, 1.6394150917455, 1.79108107229799, 
1.92886114523299, 1.63929072775465, 1.99916509741929, 2.26370679794465, 
1.924729364018, 1.54553503485972, 1.88099654023335, 2.03051354778129, 
2.17804728752749, 2.12476479528855, 1.79665064336727, 1.66803655358883, 
1.52926686455682, 1.71830989983599, 2.21083439105793, 1.86443921363336, 
1.45970068866947, 1.46515364683471, 1.96327833039721, 1.85809446102654, 
1.8911460350233, 2.10578525894244, 1.84558605772877, 2.06795453886095, 
1.87123894623012, 1.70295055670813, 2.04769037209177, 1.81741800067856, 
1.70963515924599, 1.8810789248976, 2.08214005589523, 1.98448139422549, 
1.8842308906138, 1.84977464056372, 1.83892041547454, 1.78534353440032, 
1.88829131444743, 1.78248584160552, 1.73105078216458, 1.73057625649339, 
2.054815736922, 1.70441853411706, 1.6166586559959, 1.61823509145258, 
1.94975634346831, 2.19961078664886, 1.59628927948603, 2.0111758817321, 
1.9689510821148, 1.97612157107466, 1.87961365794257, 1.84429607149484, 
1.76230329476284, 1.7572858994955, 1.54833163725286, 1.88847950726836, 
1.73759103297971, 1.39679126671683, 1.576279714288, 1.40421598638747, 
1.51331678315524, 1.44438414453813, 1.97199145141558, 1.73540513126666, 
1.79944902632181, 1.60619675145586, 1.42564894487502, 1.43305529843225, 
1.43577652930076, 1.59457507916681, 1.51331678315524, 1.93744201956728, 
1.61949827670768, 1.46498521109165, 1.53488866529137, 2.09676980813563, 
1.63070254060162, 1.75275289716637, 1.64337335903954, 1.85274434548305, 
1.67743348661841, 1.81324792675871, 2.02302974379865, 2.00366161636475, 
1.91352636591608, 1.91343630323771, 1.8031316981709, 1.81196344092954, 
2.00139023922444, 1.72305141889712, 1.7276580780702, 1.90735006332326, 
1.66875159906674, 1.61189928278292, 1.53125416967388, 1.64586533987944, 
1.64460111308714, 1.72016481401236, 1.77350356923923, 1.65920819812358, 
1.65800937373919, 1.82391324317121, 1.60702439371629), Var2 = c(718, 
720, 719, 719, 1085, 719, 718, 720, 709, 178046.84, 312158.12, 
295006.65, 274338.46, 279412.67, 294334.05, 302965.48, 283848.93, 
295775.4, 324989.26, 313520.3, 305304.64, 325089.95, 323621.72, 
310224.74, 328263.54, 377773.96, 323575.38, 327490.52, 308451.12, 
346675.68, 452272.97, 416039.88, 518316.77, 647778.48, 822484.85, 
710687.01, 587527.46, 638580.12, 634019.52, 794618.7, 794867.31, 
650833.31, 562594.38, 649383.85, 539619.9, 550596.92, 646906.34, 
678097.5, 492835.69, 604433.63, 562287.48, 538409.36, 589956.28, 
669870.98, 563286.04, 504662.45, 492665.07, 467305.87, 462124.3, 
503617.5, 555975.63, 504329.07, 509931.66, 542720.93, 520409.16, 
493405.72, 528411.7, 543510.51, 622640.35, 444562.7, 559113.28, 
521425.21, 568604.46, 478628.44, 504460.28, 472728.35, 429108.39, 
463780.72, 521356.77, 496465.19, 507481.28, 463702.65, 541308.21, 
465815.1, 423761.33, 539741.82, 422750.44, 561183.87, 487607.6, 
482372.7, 401386.09, 424095.05, 496852.71, 372340.95, 405982.76, 
509710.11, 467758.96, 419200.68, 417159.49, 414065.81, 416684.55, 
436626.17, 496226.41, 704777.12, 694411.81, 662723.38, 535853.87, 
499600.53, 429088.76, 451490.7, 509298.44, 505469.15, 478648.01, 
490808.68, 598377.66, 453671.17, 479982.85, 661663.76, 463464.04, 
499827.08, 499288.44, 510072.77, 487824.63, 446472.62, 524501.89, 
481848.91, 476789.13, 385934.39, 383573.63, 354954.89, 363071.7, 
476019.29, 390760.09, 369359.13, 359853.92, 381079.3, 390031.77, 
425805.16, 370477.56, 359525.22, 380000.07, 371483.4, 365931.7, 
359378.66, 369829.46, 365490.81, 330409.55, 327298.63, 378450.69, 
389244.81, 335975.83, 377688.46, 315963.56, 317354.04, 312019.33, 
317122.77, 329678.29, 328355.5, 331702.66, 344574.79, 324940.17, 
349490.65, 338082.41, 312796.45, 336411.53, 356326.24, 318175.14, 
320889.23, 300998.69, 304840.26, 322742.93, 336326.43, 330394.64, 
304372.87, 337079.15, 319439.62, 355329.98, 315987.91, 312959.74, 
310686.92, 306879.28, 302543.03, 309098.99, 314781.47, 312272.87, 
315356.54, 311191.14, 348180.05, 314991.72, 325607.75, 306450.6, 
310611.38, 340022.04, 306087.91, 307453.91, 327298.3, 320511.32, 
312387.28, 316677.06, 327834.08, 306799, 299763.69, 309510.11, 
307400.97, 312631.4, 314621.5, 332731.17, 344443.49, 334519.26, 
375469.37, 377103.31, 381210.79, 353055.03, 327254.58, 319054.34, 
312392.14, 303125.36, 302694.03, 315578.79, 362216.99, 356504.16, 
390789.26, 421108.49, 353347.17, 422219.21, 416908.67, 407656.52, 
395220.23, 340955.32, 341502.71, 391659.09, 401770.7, 389617.88, 
408153.36, 379656.39, 312326.34, 305242.2, 300968.93, 314979.56, 
309535.4, 339943.99, 316357.87, 333921.86, 333644.46, 312287.38, 
315529.91, 349614.87, 351424.76, 348664.88, 345568.68, 412094.86, 
375242.23, 390489.73, 346672.13, 436333.83, 367420.19, 362974.2, 
379824.88, 365727.11, 336918.55, 352623.65, 371113.4, 348969.51, 
336309.16, 445712.34, 372998.97, 348453.01, 315162.6, 360653.06, 
415473.84, 336309.41, 455693.09, 356859.93, 417529.7, 333997.51, 
364677.31, 316151.24, 352435.93, 373164.44, 327926.6, 325189.08, 
338827.9, 330872.07, 404965.02, 390365.29, 509966.02, 415563.88, 
393865.85, 418087.66, 468489.6, 613251.92, 381941.7, 519549.32, 
510048.64, 485807.61, 493213.19, 614214.22, 523176.61, 484394.73, 
586087.78, 562696.69, 571844.06, 472786.83, 427210.77, 485693.11, 
490333.99, 546643.25, 410189.95, 365332.55, 392416.6, 519332.23, 
532557.92, 636343.43, 602070.61, 567573.6, 559948.83, 608355.63, 
617488.59, 649532.09, 599096.01, 608448.23, 591162.28, 548848.05, 
610569.88, 620655.4, 634465.31, 590601.69, 576462.99, 552328.79, 
572124.32, 633254.37, 652816.15, 621622.47, 608687.02, 547834.25, 
430380.15, 641671.24, 711502.99, 658691.77, 702547.91, 669824.62, 
647337.37, 617953.17, 623266.77, 661313.13, 658075.8, 536850.37, 
594472.54, 633349.61, 556882.22, 634236.59, 610531.24, 598626.06, 
643953.85, 575878.42, 618421.58, 655620, 655281.37, 576891.34, 
606063.14, 586314.2, 414268.23, 598197.25, 621882.81, 529313.02
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-365L))
...