使用by_row(。,collat​​e =“col”)时防止重命名列

时间:2017-06-30 12:03:25

标签: r purrr

代码

library(purrrlyr)
mtcars[1:2, 1:2] %>% 
    by_row(function(x) 
               as.data.frame(setNames(as.list(1:5), LETTERS[1:5])), 
           .collate = "cols")
# # tibble [2 x 7]
#     mpg   cyl    A1    B1    C1    D1    E1
#   <dbl> <dbl> <int> <int> <int> <int> <int>
# 1    21     6     1     2     3     4     5
# 2    21     6     1     2     3     4     5

问题

有没有办法可以通过在列名中添加by_row来避免1“装饰”我的数据框的名称?

Expecetd结果

# # tibble [2 x 7]
#     mpg   cyl     A     B     C     D     E
#   <dbl> <dbl> <int> <int> <int> <int> <int>
# 1    21     6     1     2     3     4     5
# 2    21     6     1     2     3     4     5

1 个答案:

答案 0 :(得分:1)

如评论中所述,此方法会生成所需的列,但会添加.row列。

library(purrrlyr)
mtcars[1:2, 1:2] %>% 
    by_row(function(x) 
               as.data.frame(setNames(as.list(1:5), LETTERS[1:5])), 
           .collate = "rows")

 #       mpg   cyl  .row     A     B     C     D     E
 #     <dbl> <dbl> <int> <int> <int> <int> <int> <int>
 #   1    21     6     1     1     2     3     4     5
 #   2    21     6     2     1     2     3     4     5