追加迭代映射函数的输出
Append output from iterative mapped function
这是对上一个问题的 follow-up:
映射函数的输出...
data %>%
bind_cols(
map(.x = models,.f = text_model) %>%
set_names(models) %>%
bind_rows(.id = "model")
)
...生成一个数据框,其中每个函数的结果写入单独的列(函数包含在列 headers 中)。
但是,最好附加每个函数的输出,这样所有结果都包含在同一列中,并用单独的列来跟踪哪个函数(“model001”、“model002”、.. “model500”) 生成了结果。
如何调整上一个问题 () 的代码以这种方式写入结果?
编辑:有人建议 作为答案,但是这个 post 是对那个询问如何将输出写入单个列(而不是每个功能单独一列)。
给出另一个答案,我们可以旋转数据
data %>%
bind_cols(
map(.x = models,.f = text_model) %>%
set_names(models_names) %>%
bind_rows(.id = "model")
) %>%
pivot_longer(cols = model1:model2,names_to = "model")
# A tibble: 200 x 6
A B C D model value
<dbl> <dbl> <dbl> <dbl> <chr> <dbl>
1 0.833 0.538 0.647 1.65 model1 22.9
2 0.833 0.538 0.647 1.65 model2 57.9
3 2.07 1.20 -0.748 -2.04 model1 35.3
4 2.07 1.20 -0.748 -2.04 model2 70.3
5 0.880 -0.199 1.08 1.04 model1 29.2
6 0.880 -0.199 1.08 1.04 model2 64.2
7 0.252 0.400 1.45 -0.0645 model1 15.6
8 0.252 0.400 1.45 -0.0645 model2 50.6
9 0.746 0.0943 -1.00 1.44 model1 20.4
10 0.746 0.0943 -1.00 1.44 model2 55.4
# ... with 190 more rows
这是对上一个问题的 follow-up:
映射函数的输出...
data %>%
bind_cols(
map(.x = models,.f = text_model) %>%
set_names(models) %>%
bind_rows(.id = "model")
)
...生成一个数据框,其中每个函数的结果写入单独的列(函数包含在列 headers 中)。
但是,最好附加每个函数的输出,这样所有结果都包含在同一列中,并用单独的列来跟踪哪个函数(“model001”、“model002”、.. “model500”) 生成了结果。
如何调整上一个问题 (
编辑:有人建议
给出另一个答案,我们可以旋转数据
data %>%
bind_cols(
map(.x = models,.f = text_model) %>%
set_names(models_names) %>%
bind_rows(.id = "model")
) %>%
pivot_longer(cols = model1:model2,names_to = "model")
# A tibble: 200 x 6
A B C D model value
<dbl> <dbl> <dbl> <dbl> <chr> <dbl>
1 0.833 0.538 0.647 1.65 model1 22.9
2 0.833 0.538 0.647 1.65 model2 57.9
3 2.07 1.20 -0.748 -2.04 model1 35.3
4 2.07 1.20 -0.748 -2.04 model2 70.3
5 0.880 -0.199 1.08 1.04 model1 29.2
6 0.880 -0.199 1.08 1.04 model2 64.2
7 0.252 0.400 1.45 -0.0645 model1 15.6
8 0.252 0.400 1.45 -0.0645 model2 50.6
9 0.746 0.0943 -1.00 1.44 model1 20.4
10 0.746 0.0943 -1.00 1.44 model2 55.4
# ... with 190 more rows