У меня есть два набора данных разной длины, я хочу сравнить значения в одном столбце, если они имеют одинаковый идентификатор, и удалить те строки, значения которых меньше.
Например, у меня есть dataset_1 и dataset_2, как показано ниже, я хочу сравнить значения в столбце «time» по case.id и удалить те строки из dataset_2, что значения меньше значения в dataset_1.
dataset_1 <- case.id time
1 xxx1 1
2 xxx2 2
3 xxx3 3
dataset_2 <- case.id distance time
1 xxx1 100 0.8
2 xxx1 50 1.2
3 xxx1 40 2.0
4 xxx2 50 3.0
5 xxx2 40 4.0
6 xxx3 100 2.5
7 xxx3 50 3.0
8 xxx3 100 3.5
9 xxx3 50 5.0
Мой ожидаемый результат должен быть таким,
new_dataset_2 <- case.id distance time
1 xxx1 50 1.2
2 xxx1 40 2.0
3 xxx2 50 3.0
4 xxx2 40 4.0
5 xxx3 50 3.0
6 xxx3 100 3.5
7 xxx3 50 5.0
Данные
dataset_1 <- structure(list(case.id = c("xxx1", "xxx2", "xxx3"), time = 1:3), .Names = c("case.id",
"time"), class = "data.frame", row.names = c("1", "2", "3"))
dataset_2 <- structure(list(case.id = c("xxx1", "xxx1", "xxx1", "xxx2", "xxx2",
"xxx3", "xxx3", "xxx3", "xxx3"), distance = c(100L, 50L, 40L,
50L, 40L, 100L, 50L, 100L, 50L), time = c(0.8, 1.2, 2, 3, 4,
2.5, 3, 3.5, 5)), .Names = c("case.id", "distance", "time"), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9"))