【发布时间】:2015-05-22 21:24:23
【问题描述】:
我的应用程序将数据从 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
【问题讨论】:
-
你能告诉我们excel数据是什么样子的吗?
-
我已经添加了数据。谢谢!
-
在excel文件中,列名是不是只有一行(或者合并为一行)?
-
每一列名都在第一行 a1 = LABEL, a2 = CLASS, a3=LOW etc.