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 @   小鲨鱼2018  阅读(18759)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-05-08 linux 系统如何删除特定的行
点击右上角即可分享
微信分享提示