Я новичок в stackoverflow, но не новичок в R. Однако у меня возникли некоторые проблемы при вычитании некоторых значений из таблицы. Я создал небольшой пример, который показывает настройку и мою попытку (пока):
library(tidyverse)
fruit<-tibble(date=rep(seq.Date(as.Date('2020-03-01'),
as.Date('2020-03-04'),
by='day'),3),
cat=c(rep('apple',4),
rep('peach',4),
rep('strawberry', 4)),
value=1:12)
bananas<-tibble(date=rev(seq.Date(as.Date('2020-03-01'),
as.Date('2020-03-04'),
by='day')),
cat=rep('bananas', 4),
value= 4:1)
mutate(fruit,
value = ifelse(cat=='apple' & date %in% bananas$date,
value-bananas$value, value))
Я знаю, что моя конструкция cat=='apple' & date %in% bananas$date
обычно тоже не должна работать. Тем не менее, я не могу понять, как установить более крупный тиббл, а затем векторизовать совпадение дат, чтобы вычесть правильные значения друг из друга, а затем снова вернуть весь более крупный тиббл.
Простой обходной путь - создать уникальный «идентификатор помощника» путем вставки категории и даты вместе, но я думаю, что должен быть более простой способ.
Надеюсь, проблема прояснится - я был бы рад любому совету.
Бест,
Николас