Это может быть сложно и трудно объяснить. Допустим, у меня есть фрейм данных с 4 столбцами date, id, response_1 и response_2: столбец id имеет уникальные значения, переменная response_1 содержит значения 1 и 0, а переменная response_2 использует значения response_1, чтобы определить, назначать ли 1 и 0 элементу уникальный идентификатор. Если id имеет значение 0 в переменной response_1, он присваивает значение 0 переменной response_2, но как только id имеет значение 1 в переменной response_1, он остается 1 в переменной response_2 независимо от значения в response_1 (см. id 1 и 3).
sample <- data.frame(date = c("2020-04-17", "2020-04-17", "2020-04-17",
"2020-05-13", "2020-05-13", "2020-05-13",
"2020-06-12", "2020-06-12", "2020-06-12",
"2020-06-19", "2020-06-19"),
id = c(1,2,3,1,2,3,1,3,4,5,1),
response_1=c(0,1,0,1,0,1,0,0,0,1,1),
response_2=c(0,1,0,1,1,1,1,1,0,1,1))
date id response_1 response_2
1 2020-04-17 1 0 0
2 2020-04-17 2 1 1
3 2020-04-17 3 0 0
4 2020-05-13 1 1 1
5 2020-05-13 2 0 1
6 2020-05-13 3 1 1
7 2020-06-12 1 0 1
8 2020-06-12 3 0 1
9 2020-06-12 4 0 0
10 2020-06-19 5 1 1
11 2020-06-19 1 1 1
То, что я хочу вычислить с использованием этого набора данных, - это каждый день видеть, сколько уникальных идентификаторов у нас было и сколько превратилось в 1 с начала набора данных. Например, 12 июня у нас было всего 4 уникальных идентификатора (1, 2, 3 и 4) во всем наборе данных, и 3 из них превратились в 1 (id 1, 2 и 3). 4 все еще было 0.
Вот так:
result <- data.frame(date=c("04-17-2020", "05-13-2020","06-12-2020", "06-19-2020"),
count_id = c(3,3,4,5), total=c(1,3,3,4))
date count_id total
1 04-17-2020 3 1
2 05-13-2020 3 3
3 06-12-2020 4 3
4 06-19-2020 5 4
Каким будет лучший способ sh сделать это в R?