R语言中实现第一列转化为行名、第一行转化为列名

 

1、第一列转化为行名

> x <- letters[1:5]
> y <- 1:5
> z <- LETTERS[1:5]
> dat <- data.frame(x, y, z)
> dat                             ## 测试数据框
  x y z
1 a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E
> rownames(dat) <- dat[,1]        ## 第一列转换为行名
> dat
  x y z
a a 1 A
b b 2 B
c c 3 C
d d 4 D
e e 5 E
> dat <- dat[,-1]                 ## 删除第一列
> dat
  y z
a 1 A
b 2 B
c 3 C
d 4 D
e 5 E

 

2、将第一行转换为列名

> x <- letters[1:5]
> y <- 1:5
> z <- LETTERS[1:5]
> dat <- data.frame(x, y, z)
> dat
  x y z
1 a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E
> colnames(dat) <- dat[1,]       ## 经列名定义为第一行
> dat
  a 1 A
1 a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E
> dat <- dat[-1,]                ## 删除第一行实现将第一行转换为列名
> dat
  a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E

 

3、行名转换为第一列

> x <- letters[1:5]
> y <- 1:5
> z <- LETTERS[1:5]
> dat <- data.frame(x, y, z)
> dat
  x y z
1 a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E
> dat <- cbind(rownames(dat),dat)       ## 行名转换为第一列
> dat
  rownames(dat) x y z
1             1 a 1 A
2             2 b 2 B
3             3 c 3 C
4             4 d 4 D
5             5 e 5 E

 

4、列名转换为第一行

> x <- letters[1:5]
> y <- 1:5
> z <- LETTERS[1:5]
> dat <- data.frame(x, y, z)
> dat
  x y z
1 a 1 A
2 b 2 B
3 c 3 C
4 d 4 D
5 e 5 E
> dat <- rbind(colnames(dat), dat)          ## 列名转换为第一行
> dat
  x y z
1 x y z
2 a 1 A
3 b 2 B
4 c 3 C
5 d 4 D
6 e 5 E

 

posted @ 2022-05-08 22:57  小鲨鱼2018  阅读(17436)  评论(0编辑  收藏  举报