首页 > 解决方案 > 我可以读取 Excel 文件并将字母保留为 R 中的列名吗?

问题描述

我正在尝试读取 .xlsx 文件。我想将列名保留在 Excel 中(从Ato 到Z然后继续的AA AB列名等)并将它们用作我的 data.frame 的列名。

有没有一种简单的方法可以导入 excel 并将它们作为标题?

范围是 BR:CI(其余的我不需要)

我使用的代码:

data = read.xlsx( # Reads only the relevant part of the data
  xlsxFile = "E:/data.xlsx",
  sheet = 1,
  colNames = F, 
  cols = c(70:87), #Cols BR-CI
  startRow = 2 )

我得到的输出:

> head(data)
     X1    X2    X3    X4    X5    X6    X7    X8    X9   X10   X11   X12   X13   X14   X15   X16    X17    X18
1 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
2 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
3 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
4 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
5 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
6 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552

我想要的输出

> head(data)
     BR    BS    BT    BU    BV    BW    BX    BY    BZ    CA    CB    CC    CD    CE    CF    CG     CH     CI
1 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
2 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
3 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
4 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
5 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552
6 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 25569 204552 204552

标签: rexcel

解决方案


openxlsx包具有int2col()将整数转换为 Excel 列索引的功能。您似乎无法将名称设置为导入的一部分,但您可以这样做:

library(openxlsx)

data = read.xlsx( # Reads only the relevant part of the data
  xlsxFile = "E:/data.xlsx",
  sheet = 1,
  colNames = F, 
  cols = c(70:87), #Cols BR-CI
  startRow = 2 )

names(data) <- int2col(70:87)

哪里int2col(70:87)给出:

 [1] "BR" "BS" "BT" "BU" "BV" "BW" "BX" "BY" "BZ" "CA" "CB" "CC" "CD" "CE" "CF" "CG" "CH" "CI"

推荐阅读