我正在使用R中的rio包从多张Excel工作簿中导入数据。下面的代码非常简单:
library(rio)
my <- import_list("test.xls")
这是数据帧的列表。问题是第一行自动成为标题,而我没有任何标题,而仅仅是数据。在软件包的描述中,我找不到使用
读取工作表的方法header = FLASE
那么,如何将该标头转换为数据行?
答案 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