Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用映射和选择从TIBLE生成TIBLE列表_R_Dplyr - Fatal编程技术网

R 使用映射和选择从TIBLE生成TIBLE列表

R 使用映射和选择从TIBLE生成TIBLE列表,r,dplyr,R,Dplyr,我想在下面的代码中从一个tibble生成tibble列表 tbl = tibble(id=1:10, a = rnorm(10), b = rnorm(10)) tbl_list = c("a", "b") %>% map(~ tbl %>% select(c("id", .))) 我想要的输出是 tbl_list [[1]] # A tibble: 2 x 2 id a <int> <dbl> 1 1 -0.704 2

我想在下面的代码中从一个tibble生成tibble列表

tbl = tibble(id=1:10, a = rnorm(10), b = rnorm(10))
tbl_list =  c("a", "b") %>% map(~ tbl %>% select(c("id", .)))
我想要的输出是

tbl_list

[[1]]
# A tibble: 2 x 2
     id      a
  <int>  <dbl>
1     1 -0.704
2     2 -0.917

[[2]]
# A tibble: 2 x 2
     id      a
  <int>  <dbl>
1     1 -0.704
2     2 -0.917
tbl\u列表
[[1]]
#一个tibble:2x2
身份证
1     1 -0.704
2     2 -0.917
[[2]]
#一个tibble:2x2
身份证
1     1 -0.704
2     2 -0.917
但是,它会显示错误消息

c(“id”)必须计算列位置或名称,而不是列表”

因此,
似乎不是一个字符,而是一个列表


您能告诉我如何避免此错误吗?

您可以使用
.x
访问元素

library(tidyverse)
c("a", "b") %>% map(~ tbl %>% select(c("id", .x)))

#[[1]]
# A tibble: 10 x 2
#      id      a
#   <int>  <dbl>
# 1     1  1.42 
# 2     2  1.51 
# 3     3 -0.385
#...

#[[2]]
# A tibble: 10 x 2
#      id      b
#   <int>  <dbl>
# 1     1  1.42 
# 2     2  0.100
# 3     3  1.28 
#....

谢谢!我可以成功地做到这一点。很抱歉,我不熟悉这个网站。我接受你的回答。
c("a", "b") %>% map(~select(tbl, c('id', .)))