如何将标头转换为R中的原始数据?

时间:2019-04-30 20:02:23

标签: r dataframe header

我正在使用R中的rio包从多张Excel工作簿中导入数据。下面的代码非常简单:

library(rio)
my <- import_list("test.xls")

这是数据帧的列表。问题是第一行自动成为标题,而我没有任何标题,而仅仅是数据。在软件包的描述中,我找不到使用

读取工作表的方法
header = FLASE

那么,如何将该标头转换为数据行?

1 个答案:

答案 0 :(得分:1)

假设您无法使用该函数正确导入数据(并且我强烈建议您通读该函数的文档,因为您要查找的参数很可能存在-它可能具有不同的含义名称(而不是read.table中的名称)),您可以使用colnames访问“标头”,然后仅将rbind放在数据顶部:

df2 <- rbind(colnames(mtcars), mtcars)
head(df2)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1                  mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21   6  160 110  3.9  2.62 16.46  0  1    4    4
Mazda RX4 Wag       21   6  160 110  3.9 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85  2.32 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15  3.44 17.02  0  0    3    2

然后您可以使用colnames(df2) <- ...分配新的列名称:

# Assign numbers as column names
colnames(df2) <- paste0('V', seq_len(ncol(df2)))
head(df2)

                    V1  V2   V3  V4   V5    V6    V7 V8 V9  V10  V11
1                  mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21   6  160 110  3.9  2.62 16.46  0  1    4    4
Mazda RX4 Wag       21   6  160 110  3.9 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85  2.32 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15  3.44 17.02  0  0    3    2