r - 使用第一行数据作为 r 中的列名

标签 r names

我有一个脏数据集,我无法用 header = T 读取它.在我阅读并清理它之后,我想使用现在的第一行数据作为列名。我在 Stack Overflow 上尝试了多种方法都没有成功。可能是什么问题呢?
数据集 t1清理后应该是这样的:

      V1    V2  V3  V4  V5
1   col1    col2    col3    col4
2   row1    2   4   5   56
3   row2    74  74  3   534
4   row3    865 768 8   7
5   row4    68  86  65  87
  • 我试过:colnames(t1) <- t1[1,] .没发生什么事。
  • 我试过:names(t1) <- ti[1,] , 没发生什么事。
  • 我试过:lapply(t1, function(x) {names(x) <- x[1, ]; x}) .它返回一条错误消息:
    Error in `[.default`(x, 1, ) : incorrect number of dimensions
    

  • 有人可以帮忙吗?

    最佳答案

    Sam Firke 的有用包 janitor 有一个专门为此的功能:row_to_names .

    他的文档中的示例:

    library(janitor)
    
    x <- data.frame(X_1 = c(NA, "Title", 1:3),
               X_2 = c(NA, "Title2", 4:6))
    x %>%
      row_to_names(row_number = 2)
    

    关于r - 使用第一行数据作为 r 中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32054368/

    相关文章:

    Java,一种使用保留字的方法

    MySQL:如何在 MySQL 查询中传递列名作为参数

    c - 使用指针数组中的函数更改字符串位置

    r - 创建比较两组前后中值的折线图

    r - shinyapps.io 上的 Shiny 部署出错

    RMarkdown - 更改内联代码颜色

    R 计算逗号和字符串的数量

    RStudio 错误 : STRING_ELT() can only be applied to a 'character vector' , 不是 'builtin'

    php - 10个不同的域名,2个php文件,仅数据库查询更改

    r - 为什么 'names' 的属性表现不同?