我的应用程序将数据从 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
最佳答案
我认为您正在为每一行获取因子的枚举版本。
这将工作...
unname(unlist(df1[1,]))
关于r - COLNAMES 函数未读取正确的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406089/