У меня есть образец данных с 45 строками и приведен ниже.Автоматизация поиска и преобразования значений в r
itemid title release_date
16 573 Body Snatchers 1993
17 670 Body Snatchers 1993
41 1645 Butcher Boy, The 1998
42 1650 Butcher Boy, The 1998
1 218 Cape Fear 1991
18 673 Cape Fear 1962
27 1234 Chairman of the Board 1998
43 1654 Chairman of the Board 1998
2 246 Chasing Amy 1997
5 268 Chasing Amy 1997
11 309 Deceiver 1997
37 1606 Deceiver 1997
28 1256 Designated Mourner, The 1997
29 1257 Designated Mourner, The 1997
12 329 Desperate Measures 1998
13 348 Desperate Measures 1998
9 304 Fly Away Home 1996
15 500 Fly Away Home 1996
26 1175 Hugo Pool 1997
39 1617 Hugo Pool 1997
31 1395 Hurricane Streets 1998
38 1607 Hurricane Streets 1998
10 305 Ice Storm, The 1997
21 865 Ice Storm, The 1997
4 266 Kull the Conqueror 1997
19 680 Kull the Conqueror 1997
22 876 Money Talks 1997
24 881 Money Talks 1997
35 1477 Nightwatch 1997
40 1625 Nightwatch 1997
6 274 Sabrina 1995
14 486 Sabrina 1954
33 1442 Scarlet Letter, The 1995
36 1542 Scarlet Letter, The 1926
3 251 Shall We Dance? 1996
30 1286 Shall We Dance? 1937
32 1429 Sliding Doors 1998
45 1680 Sliding Doors 1998
20 711 Substance of Fire, The 1996
44 1658 Substance of Fire, The 1996
23 878 That Darn Cat! 1997
25 1003 That Darn Cat! 1997
34 1444 That Darn Cat! 1965
7 297 Ulee's Gold 1997
8 303 Ulee's Gold 1997
То, что я пытаюсь сделать, это преобразовать элемент в соответствии с именем фильма и если дата выпуска фильма такая же. например, в фильме «Ulee's Gold» есть два элемента id: 297 & 303. Я пытаюсь найти способ автоматизировать процесс проверки даты выпуска фильма, и если это то же самое, itemid [2] этого фильма должен быть заменен itemid [1]. В настоящее время я сделал это вручную, извлекая itemid на два вектора x & y и затем меняя их с помощью векторизации. Я хочу знать, есть ли лучший способ выполнить эту задачу, потому что есть только 18 фильмов с несколькими идентификаторами, но набор данных имеет несколько сотен. Поиск и обработка этого вручную потребует много времени.
Я предоставляю код, который я использовал для выполнения этой задачи.
x <- c(670,1650,1654,268,1606,1257,348,500,1617,1607,865,680,881,1625,1680,1658,1003,303)
y<- c(573,1645,1234,246,309,1256,329,304,1175,1395,305,266,876,1477,1429,711,878,297)
for(i in 1:18)
{
df$itemid[x[i]] <- y[i]
}
Есть ли лучший способ сделать это?
Вы имеете в виду, что оба получили товар 297 в вашем примере? Если есть 3 с одним и тем же товаром, все ли они получают предмет первого наблюдения? – jalapic
По этой причине требуется проверка на дату выпуска. Вы можете увидеть фильм «Это чертова кошка!» имеет 3 вхождения, но первые два являются релевантными. Да, я согласен, что оба должны получить 297, поскольку фильмы точно такие же, что можно подтвердить из release_date. Надеюсь, это ответит на вопрос. Нижняя часть двух предметов должна быть той, которую нужно использовать. – syebill