为了账号安全,请及时绑定邮箱和手机立即绑定

将列中的值转换为R中现有数据框中的行名称

将列中的值转换为R中现有数据框中的行名称

陪伴而非守候 2019-08-12 14:27:36
将列中的值转换为R中现有数据框中的行名称我想将现有数据框的列中的值转换为行名称。是否可以在不导出数据帧然后通过row.names =调用重新导入数据帧的情况下执行此操作?例如,我想转换: > samp      names Var.1 Var.2 Var.3 1     A     1     5     0 2     B     2     4     1 3     C     3     3     2 4     D     4     2     3 5     E     5     1     4成:> samp.with.rownames      Var.1 Var.2 Var.3A     1     5     0B     2     4     1C     3     3     2D     4     2     3E     5     1     4谢谢
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

这应该做:


samp2 <- samp[,-1]

rownames(samp2) <- samp[,1]

简而言之,除了重新分配之外别无选择。


编辑:纠正自己,也可以到位:分配rowname属性,然后删除列:


R> df<-data.frame(a=letters[1:10], b=1:10, c=LETTERS[1:10])

R> rownames(df) <- df[,1]

R> df[,1] <- NULL

R> df

   b c

a  1 A

b  2 B

c  3 C

d  4 D

e  5 E

f  6 F

g  7 G

h  8 H

i  9 I

j 10 J

R> 


查看完整回答
反对 回复 2019-08-12
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

在一条线上

> samp.with.rownames <- data.frame(samp[,-1], row.names=samp[,1])


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 1230 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信