Во-первых, да, я исследовал это, и да, я видел несколько ответов, которые должны решить мою проблему, НО я не могу применить их к моей ситуации, поэтому я иду прямо к своему источнику и надеюсь, что кто-то сможет получить концепцию через мою толстый череп с моими данными. Это, очевидно, гораздо меньший пример. Я пытаюсь отфильтровать наши строки, которые содержат значение из вектора в любом из столбцов Code_, и сохранить их как фрейм данных для каждой итерации. Прямо сейчас этот код объявляет измененный столбец на каждом проходе, чтобы показать, какое значение из вектора кода было использовано для этого фильтра. Это, конечно, приводит к большому дублированию, и мне все равно приходится разделять вывод, чтобы каждая итерация помещалась в отдельный df.
transaction <- c(1,2,3,4,5)
Code_1 <- c("QD","QK","QI","QE","QH")
Code_2 <- c("QE","QB","SA","QG","QC")
Code_3 <- c("QG","QH","DI","QK","QI")
Code_4 <- c("QK","QC","QD","QB","SA")
df <- data.frame(transaction, Code_1, Code_2, Code_3, Code_4)
codes <- c("QD","QH","SA")
test <- data.frame(NULL)
for(i in codes){
tmp <- df %>% filter(Code_1 == i | Code_2 == i | Code_3 == i| Code_4 == i) %>% mutate(interation =
i)
test <- rbind(test, tmp)
}
Я получаю вывод, который захватывает все строки, которые я хочу, но все же необходимо преобразовать их в отдельные dfs на основе "итерации" измененного столбца. Есть ли способ потерять измененный столбец и сохранить каждую итерацию как df по мере выполнения цикла. Я пробовал несколько примеров и пробовал поиграть с парой сценариев применения ios, но это единственное, что мне удалось заставить работать.
Извините за путаницу с выводом
В идеальном мире я хочу, чтобы каждая итерация выводила уникальный тиббл / df. Я хочу получить результат, как если бы я только что запустил что-то вроде этого, но тысячу раз с сотнями кодов. Мне не нужен список. Мне нужны уникальные индивидуальные выходы.
QD <- df %>% filter(Code_1 == "QD" | Code_2 == "QD" | Code_3 == "QD"|
Code_4 == "QD")
QH <- df %>% filter(Code_1 == "QH" | Code_2 == "QH" | Code_3 == "QH"|
Code_4 == "QH")
SA <- df %>% filter(Code_1 == "SA" | Code_2 == "SA" | Code_3 == "SA"|
Code_4 == "SA")