У меня есть список фреймов данных, которые я использую для запуска функции.Это работает просто отлично.В последней части этого процесса выясняется, как игнорировать дубликаты на основе одного столбца, когда функция запускается и заполняет все кадры данных.См. Ниже для получения дополнительной информации, я чувствую, что я близко, но я не уверен, как вписаться в то, что мне нужно.
Код, не пытаясь игнорировать дубликаты, который прекрасно работает:
df_list <- by(car, car$User, function(unique) unique)
yourFun <- function(df) {
df <- anti_join(awip,df, by = "Warranty.Claim")
df <- subset(awip, Claim.Queue %in% df$Claim.Queue)%>%arrange(Sub.Dt) %>% slice(tail(row_number(),150))
return(df)
}
newList <- lapply(df_list, yourFun)
for (df_name in names(newList))
newList[[df_name]][["User"]] <- df_name
df <- do.call(rbind, newList)
rownames(df) <- NULL
lagavulin <- do.call(rbind, newList)
Одна попытка игнорировать дубликаты между awip и списком:
df_list <- by(car, car$User, function(unique) unique)
yourFun <- function(df) {
df <- anti_join(df,awip, by = "Warranty.Claim")
df <- subset(awip, Claim.Queue %in% df$Claim.Queue)%>%arrange(Sub.Dt) %>% slice(tail(row_number(),150))
return(df)
}
newList <- lapply(df_list, yourFun)
for (df_name in names(newList))
newList[[df_name]][["User"]] <- df_name
df <- do.call(rbind, newList)
rownames(df) <- NULL
lagavulin <- do.call(rbind, newList)
выдает ошибку:
Error in `[[<-.data.frame`(`*tmp*`, "User", value = "Barbara") :
replacement has 1 row, data has 0
Я пробовал несколько других комбинаций anti_join в строке подмножества, но это нетоже не работает.Что мне нужно сделать, так это игнорировать записи в столбце Warranty.Claim, которые были добавлены в список df и также существуют в awip.Как только это будет сделано, я стану золотым.
Небольшое количество выборочных данных:
Вот то, что изначально заполняло списки, разделенные пользователем:
User Claim Queue
Gibson Jones 1
Gibson Jones 2
Gibson Jones 3
Gibson Jones 4
Cheri Smith 5
Cheri Smith 6
Cheri Smith 7
Cheri Smith 8
Cheri Smith 9
Cindi Carlton 10
Cindi Carlton 11
Cindi Carlton 12
Here is a small sample of the dataset I am subsetting (awip) and slicing to match with each data frame in the list based on Claim Queue:
```Warranty Claim Claim Queue Sub Dt
998956 1 9/10/2019 0:00
566231654 2 9/9/2019 0:00
454123215 3 9/11/2019 0:00
25651 4 9/12/2019 0:00
54564211 5 9/11/2019 0:00
545645611 6 9/11/2019 0:00
515115656 7 9/9/2019 0:00
51561561561 8 9/12/2019 0:00
61156156156 9 9/26/2019 0:00
55456 10 9/26/2019 0:00
545645645 11 9/26/2019 0:00
44565456 12 9/26/2019 0:00
998956 1 9/10/2019 0:00
566231654 2 9/9/2019 0:00
4456456 3 9/11/2019 0:00
fsadf45564 4 9/12/2019 0:00
sadf54456 5 9/11/2019 0:00
564564311 6 9/11/2019 0:00
56456465456 7 9/9/2019 0:00
6456456456 8 9/12/2019 0:00
5.64565E+11 9 9/26/2019 0:00
15615656 10 9/26/2019 0:00
1566156165 11 9/26/2019 0:00
4885454 12 9/26/2019 0:00
Что за окончательный вариантвывод должен выглядеть следующим образом: все с добавлением дополнительного столбца с именем каждого пользователя, но в этом случае только одна строка для очереди заявок 1 и 2, поскольку есть дубликат.