我是R的新手,所以这个问题对大多数人来说可能太简单了。
我目前正在使用R从我的Excel文件导入值和数据。 但是前两行我想设置为我的列名。谁能建议我应该做些什么?对于例如col.names =&
我希望我的专栏名称是
NAMEA, PRODUCT1B, PRODUCT2C, PRODUCT3D
等等。
*请不要告诉我在Excel中更改我的列名,因为有很多列。
提前致谢。
答案 0 :(得分:2)
除了@Ronak提到的内容之外,这是一个端到端的解决方案。我会在没有标题的情况下使用read.csv()
来为您提供数据框中的两个实际行。然后使用paste0()
创建新列名,分配它们,并删除前两行。
# 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
答案 1 :(得分:1)
你可以尝试,
#pasting the first row with the column name and assigning them as column names
colnames(df) <- paste0(colnames(df), df[1, ])
如果您现在想要从数据框中删除第一行,则可以使用
df[-1, ]
其中df
是您的数据框
答案 2 :(得分:1)
library(stringr)
a <- c("NAME", "PRODUCT1", "PRODUCT2", "PRODUCT3")
b <- c("A", "B", "C", "D")
str_c(a,b)#"NAMEA" "PRODUCT1B" "PRODUCT2C" "PRODUCT3D"
然后,您可以使用str_c的输出作为列名,然后删除数据框的前两行。