2014-12-19 2 views
0

данных:Вычислить общие траты в прошлом году

DB1 <- data.frame(orderItemID = c(1,2,3,4,5,6,7,8,9,10),  
orderDate = c("21.1.13","31.3.13","12.4.13","1.6.13","1.1.14", 
"19.2.14","27.2.14","2.10.14","31.10.14","21.11.14"), 
price = c(9.99, 5.49, 7.99, 9.99, 19.99, 9.99, 4.99, 29.99, 9.99, 4.99), 
customerID = c(1, 2, 3, 1, 1, 3, 2, 2, 1, 1)) 

Ожидаемый результат: (текущая дата в примере = 19.12.2014)

Totalspendingspercustomerlastyear = c(34.97, 34,98, 9.99, 34.97, 34.97, 9.99, 
     34,98, 34,98, 34.97, 34.97) 

Эй, ребята,

Я хочу, чтобы вычислить общие расходы на одного клиента за последний год (период с 19.12.2013-2014 сегодня, завтра 20.12.2013-20.12.2014): он должен работать с фактическим системным временем - 1 год. Я уже пробовал что-то уже с Sys.Date() и пакетом lubridate: но мне не удалось это сделать ... надеюсь, вы, ребята, можете мне помочь ...

Спасибо!

+0

Показать свою работу. (И используйте вызовы 'library() для загрузки пакетов. Таким образом, вы можете очистить ошибки в своей орфографии, когда они выходят из строя.) –

+0

actualDate <- Sys.Date() format (actualDate,"% Y-% m- % d ") Тест <- ifelse (DB1 $ orderDate! = actualDate, DB1 [c (" Testi ")] <-" Да ", DB1 [c (" Testi ")] <-" Нет ") – Jarvis

+0

Но из Конечно, это не работает - это просто тест ... Оба ваших ответа определенно не работают: период последнего ваш динамический (меняется каждый день): считал, что набор данных и ожидаемый результат являются самораспространяющимися. .. – Jarvis

ответ

0

Другая часть ответа может сделать ссылку дата динамический с чем-то вроде

today <- as.POSIXct(strftime(Sys.time(), "%Y-%m-%d")) 

с последующим

... 
filter(orderDate > today) %>% 
... 
Смежные вопросы