r - R for 循环结果
问题描述
我需要将循环的结果存储在数据框中,但我无法弄清楚。我得到了循环工作,如下所示。
Pasta_pesto <- list(ingredienten = c("spaghetti","basilicum","pijnboompitten","pesto"))
Broccoli_spinaziesoep <- list(ingredienten = c("broccoli", "spinazie"))
Romige_kipcurry <- list(ingredienten = c("zilvervliesrijst", "sperziebonen", "kip", "curry"))
recepten <- list(Pasta_pesto, Broccoli_spinaziesoep, Romige_kipcurry)
food_box <- list("spaghetti", "pesto", "kip", "curry")
for (i in recepten) {
for (e in i) {
for (j in e) {
for (k in food_box) {
if (k == j){
print(c("true", j, k))
}
else {
print(c("false", j, k))}}}}}
现在它打印出 true 或 false 但最终结果应该是一个包含以下列的表格:recepten,每个接收的 true 计数,recept 列表中的总项目。如您所见,必须计算和存储真实的数量。
我希望你们中的任何人都可以帮助我。
解决方案
没有找到单词时出现错误已修复
library(tidyverse)
Pasta_pesto <- list(Pasta_pesto = c("spaghetti","basilicum","pijnboompitten","pesto"))
Broccoli_spinaziesoep <- list(Broccoli_spinaziesoep = c("broccoli", "spinazie"))
Romige_kipcurry <- list(Romige_kipcurry = c("zilvervliesrijst", "sperziebonen", "kip", "curry"))
recepten <- list(Pasta_pesto, Broccoli_spinaziesoep, Romige_kipcurry)
food_box<- list("spaghetti", "pesto", "kip", "curry", "basilicum", "pijnboompitten")
operation <- function(x,y){
count_ingredients <- length(x)
ingredient_in_food_box <- x %in% y
count_of_true <- ingredient_in_food_box %>% sum
missing_ingredients <- x[!ingredient_in_food_box] %>% str_flatten(collapse = "_") %>% list
list(count_ingredients = count_ingredients,
count_of_true = count_of_true,
which_ingredient = missing_ingredients)
}
recepten %>%
flatten() %>%
map_dfr(~ operation(.,food_box),.id = "receipen") %>%
mutate(show = which_ingredient %>% as.character())
#> # A tibble: 3 x 5
#> receipen count_ingredien… count_of_true which_ingredient show
#> <chr> <int> <int> <list> <chr>
#> 1 Pasta_pesto 4 4 <chr [0]> character(0)
#> 2 Broccoli_spin… 2 0 <chr [1]> broccoli_spina…
#> 3 Romige_kipcur… 4 2 <chr [1]> zilvervliesrij…
由reprex 包(v0.3.0)于 2020 年 1 月 15 日创建
推荐阅读
- java - 在 Android/Java 和 C# 中生成等效的 Hash 值
- android - 如何在 Kotlin 中使用 Retrofit 获取响应标头?
- tensorflow2.0 - 无法在 Tensorboard 中正确查看 Graph
- python - Django按python中的最新日期过滤
- javascript - jQuery Tablesorter reflow 在浏览器开发工具中看起来不错,但在智能手机上却不行
- java - 在java中使用单个堆栈和开关参数进行排序
- python - 使用 aws EFS 挂载随机 numpy memmap 访问速度极慢
- azure - Azure 虚拟机摄像头
- arrays - 如何在比较数组时应用 loaddash 的 diffenceBy 方法?
- java - 紧密打包 Hash.sha3() 的参数