列名显示不正确

时间:2019-01-30 08:05:43

标签: r

我导入了一个数据集(面板),并使用unite函数将X2和X3合并,然后在另一个线程中读取了列标题不能为日期的线程后转置了数据:

Panel <- read_csv("Panel.csv")

         X2      X3  1.2015   2.2015 3.2015 
1        A       KR  13201    27667  45967
2        A       TW  2601     4669   8399
3        B       KR  4721     9463   15187
4        B       TW  2832     6544   10636

Panel_1 <- Panel %>% unite(X2, X3,X2, sep = " ")

          X2   1.2015   2.2015 3.2015 
1        KR A   13201    27667  45967
2        TW A   2601     4669   8399
3        KR B   4721     9463   15187
4        TW B   2832     6544   10636

Panel_1 <- as.dataframe(t(Panel))
           V1             V2             V3             V4 
 X2       KR A           TW A          KR B            TW B
1.2015    13201          2601          4721            2832
2.2015    27667          4669          9463            6544 
3.2015    45967          8399          15187           10636

,然后尝试将第一行(X2)粘贴为列名。但是,我的列名仅显示NA

colnames(Panel_1) <-paste(Panel_1$X2)

colnames(Panel_1)
[1] NA NA NA NA NA

Panel_1
           NA             NA            NA              NA 
 X2       KR A           TW A          KR B            TW B
1.2015    13201          2601          4721            2832
2.2015    27667          4669          9463            6544 
3.2015    45967          8399          15187           10636

> typeof(Panel$X2)
[1] "character"
> typeof(Panel_1$X2)
[1] "NULL"

1 个答案:

答案 0 :(得分:0)

加载示例数据集

data("iris")
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

id定义为从数据集的前两行粘贴在一起的值

id = with(iris, paste0(iris[1,],iris[2,])) 

检查id是前两行中粘贴的值

id
"5.14.9" "3.53"   "1.41.4" "0.20.2" "11"

将数据集的姓氏更改为id

中定义的名字
colnames(iris) = id

查看数据集的别名现在是前两行的值

head(iris)

  5.14.9 3.53 1.41.4 0.20.2     11
1    5.1  3.5    1.4    0.2 setosa
2    4.9  3.0    1.4    0.2 setosa
3    4.7  3.2    1.3    0.2 setosa
4    4.6  3.1    1.5    0.2 setosa
5    5.0  3.6    1.4    0.2 setosa
6    5.4  3.9    1.7    0.4 setosa