我的应用程序将数据从excel读入数据帧。然后它转换数据(感谢excel),然后构建一个数据框。
我想将读取过程中分配的列名替换为第一行的内容。
以下是我尝试替换列名的方法。这似乎是标准的方法。但是,结果如下:
>require(XLConnect)
>wb <- loadWorkbook("test.xlsx")
>df1 <- readWorksheet(wb, sheet="df1")
>tdf1 <- t(df1)
>df1<- data.frame(tdf1)
>tdf1 <- NULL
>colnames(df1)
[1] "X1" "X2" "X3" "X4" "X5"
> df1[1,]
X1 X2 X3 X4 X5
LABEL ONE TWO THREE FOUR FIVE
> colnames(df1) = df1[1,]
> colnames(df1)
[1] "6" "5" "5" "6" "4"
我希望colnames(df1)是
LABEL ONE TWO THREE FOUR FIVE
我做错了什么?
谢谢, 马特
这是数据
LABEL CLASS LOW HIGH Baseline MIN MAX SOURCE1 SOURCE2
ONE TYPE1 10 20 NA NA 5 6
TWO TYPE1 90 100 NA NA 7
THREE TYPE2 0 0 NA NA 8
FOUR TYPE3 80 130 120 NA NA 9 10
FIVE TYPE3 95 110 NA NA 11
答案 0 :(得分:1)
我认为你每个行都会得到这些因子的枚举版本。
这会有用......
unname(unlist(df1[1,]))