基于文本和R中记录的值迭代重命名列名

基于文本和R中记录的值迭代重命名列名,r,dplyr,purrr,R,Dplyr,Purrr,对于一个项目,我收到了一个非常混乱的数据集,我试图将数据转换成一种整洁的格式。示例代码如下: tbl <- tibble( Col1 = c("Question", 2:5), Col2 = c("Value_1", "Value_2", "Value_3", "Value_4", "Value_5") ) %>% spread(Col1, Col2) %>% select(5, 1:4) 任何提示都将不胜感激 那么这个怎么样 names(tbl)我

对于一个项目,我收到了一个非常混乱的数据集,我试图将数据转换成一种整洁的格式。示例代码如下:

tbl <- 
  tibble(
  Col1 = c("Question", 2:5),
  Col2 = c("Value_1", "Value_2", "Value_3", "Value_4", "Value_5")
) %>% 
  spread(Col1, Col2) %>% 
  select(5, 1:4)
任何提示都将不胜感激

那么这个怎么样

names(tbl)我想出来了(谢谢你的建议)。这可以在dplyr链中使用

tbl %>%
# method 1 str_glue
  set_names(str_glue("Question_{tbl %>% slice(1)}"))
# method 2 paste0
  set_names(paste0("Question", tbl %>% slice(1), sep = "_"))

试试
names(tbl)@Sotos:
seq(ncol(tbl))
只给出值1:n。但是,我想粘贴数据集中第一行的值/文本!例如,1:5可能是a:e,然后
seq(ncol(tbl))
就不会削减它。哦,对不起,我没有意识到
# A tibble: 1 x 5
  Question_Value_1 Question_Value_2 Question_Value_3  Question_Value_4 Question_Value_5
  <chr>    <chr>   <chr>   <chr>   <chr>  
1 Value_1  Value_2 Value_3 Value_4 Value_5
tbl %>%
# method 1 str_glue
  set_names(str_glue("Question_{tbl %>% slice(1)}"))
# method 2 paste0
  set_names(paste0("Question", tbl %>% slice(1), sep = "_"))