Условная сумма в r с использованием даты из набора данных 2 - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь сделать условную сумму в г. Например, мои данные выглядят так:

data1 содержит дату, инвестора и Buyvol переменные

data2 содержит только переменную даты

Я бы хотел суммировать переменные Buyvol, если data2$Date соответствует data1$Date И data1$investor равно 8000.

sum(Jan$Buyvol[format(Jan$Date,"%d") == format(event$Date,"%d") & Jan$Investor == 8000])

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

sum(Jan$Buyvol[Jan$Date == "2016-01-04" & Jan$Investor == 8000])
sum(Jan$Buyvol[Jan$Date == "2016-01-06" & Jan$Investor == 8000])
sum(Jan$Buyvol[Jan$Date == "2016-01-04" & Jan$Investor == 8000 | Jan$Date == "2016-01-06" & Jan$Investor == 8000])

Могу ли я кодировать эту условную сумму, не вводя вручную каждую дату? Большое спасибо!

1 Ответ

0 голосов
/ 12 ноября 2018
x <- merge(x = data1, 
           y = data2, 
           by.x = Date, 
           by.y = Date, 
           all.X = FALSE, 
           all.Y = TRUE)

print(sum(x[x$investor == 8000, 'Buyvol']))
...