Вычислить сумму значений наблюдения с условиями 2.0

#r

#r

Вопрос:

Данные являются:

 farmer<-c("F1","F2","F3","F4","F5","F6")
animal<-c("A1","A2","A3","A4","A5","A6","A7","A8")
time<-c("T1","T2","T3","T4","T5")
disease<-c("ww","ee","dd","ss","kk","ll","xx","oo","hh")
sample(farmer,size=100,replace = TRUE)

df<-data.frame(farmer=sample(farmer,size=100,replace = TRUE),
               animal=sample(animal,size=100,replace = TRUE),
               time=sample(time,size=100,replace = TRUE),
               disease=sample(disease,size=100,replace = TRUE))
head(df)
  

введите описание изображения здесь

Вопрос: Количество фермеров, у которых одинаковое заболевание для конкретного животного и в определенное время?

Вывод должен быть таким:

введите описание изображения здесь

Комментарии:

1. Привет, Мартини. Не могли бы вы, возможно, показать нам, что вы пробовали сами и почему это не сработало? SO не является бесплатным сервисом для написания кода / домашней работы, поэтому вам необходимо представить доказательства того, что вы приложили усилия для самостоятельного решения проблемы, иначе ваш вопрос может быть закрыт.

2. Что означает «2.0» в вашем названии? Это просто копирование / вставка из присваивания??

3. Привет @Грегор Томас, 2.0 на самом деле является вторым изданием вопроса, который я задавал ранее. Первое издание не является точным.

Ответ №1:

 library(data.table)

dt <- setDT(df)

dt[, .(NumberOfFarmers = .N), by = .(animal, time, disease)]
  

Я думаю, это должно быть то, что вы ищете.

Комментарии:

1. К сожалению, это не тот ответ, который я ожидаю. Как я уже упоминал в своем вопросе, он должен быть таким же, как таблица, которую я перечислил.

2. Затем вы должны сначала объяснить, как появляются столбцы картофель, рапс, соя и подсолнечник.

3. Нет, это всего лишь простая структура, которую я использовал, чтобы объяснить, как должен выглядеть результат. Параметры в таблице, такие как картофель и т. Д., Не Должны учитываться. Кроме того, я добавил красный цвет, чтобы заменить старый параметр. Спасибо.