用两行导入文件作为列名

我是R新手,所以这个问题对于大多数人来说可能太简单了。

我目前使用R从我的Excel文件中导入数值和数据。 但是,我想设置为我的列名称的前两行。 任何人都可以build议我应该做什么? 例如col.names = ??

在这里输入图像说明

我想我的列名是

NAMEA, PRODUCT1B, PRODUCT2C, PRODUCT3D等等。

*请不要告诉我在Excel中更改列名,因为列数很多。

提前致谢。

你可以试试,

 #pasting the first row with the column name and assigning them as column names colnames(df) <- paste0(colnames(df), df[1, ]) 

如果你现在想要从你的数据框中删除第一行,那么你可以使用

 df[-1, ] 

其中df是你的数据框

除了@Ronak提到的,这是一个端到端的解决scheme。 我会使用read.csv()没有头,给你在你的数据框中的两个实际的行。 然后使用paste0()创build新的列名,分配它们,并删除前两行。

 # read in CSV file from Excel, using comma as a separator input <- read.csv(file="path/to/excelFile.csv", sep=",", header=FALSE, stringsAsFactors=FALSE) # create new column names as a composite of the first two rows new_names <- paste0(as.character(input[1,]), as.character(input[2,])) names(input) <- new_names # assign the new column names input <- input[3:nrow(input), ] # subset off the first two rows 
 library(stringr) a <- c("NAME", "PRODUCT1", "PRODUCT2", "PRODUCT3") b <- c("A", "B", "C", "D") str_c(a,b)#"NAMEA" "PRODUCT1B" "PRODUCT2C" "PRODUCT3D" 

然后可以使用str_c的输出作为列名,然后删除数据框的前两行。