我导入了一个数据集(面板),并使用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"
答案 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