Я уверен, что это уже было рассмотрено: если количество индексов в b невелико и постоянное, можно просто написать результат:
c = [a[b[0]]] + [a[b[1]]] + [a[b[2]]]
Или даже проще, если сами индексы являются константами ...
c = [a[1]] + [a[2]] + [a[5]]
Или, если существует последовательный диапазон индексов ...
c = a[1:3] + [a[5]]
Мы можем использовать lead
из dplyr
, предполагая, что season
упорядочено, как показано в примере
library(dplyr)
df1 %>%
group_by(url) %>%
mutate(salary = if (n() > 1) lead(salary) else salary)
# season url salary
# <fct> <fct> <int>
#1 2016-17 /players/a/abrinal01.html 5725000
#2 2017-18 /players/a/abrinal01.html NA
#3 2008-09 /players/a/ackeral01.html 711517
#4 2012-13 /players/a/acyqu01.html 788872
#5 2013-14 /players/a/acyqu01.html 915243
#6 2014-15 /players/a/acyqu01.html NA