强制列成为行标识符

时间:2018-04-21 20:30:07

标签: r data-manipulation

我想强制列成为行标识符。我应该附上我当前的数据结构,但无论如何我都会描述它。

   Animal   Protein   Fat
1   Dog       4        2
2   Sheep     5        8
3   Horse     9        10
4   Lion      12       7

目前每行由1,2,3,4标识。我宁愿让每一行都由Animal识别。在R中有没有办法做到这一点。

[enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用row.names

设置行名称
Animals = read.table(text="Animal   Protein   Fat
1   Dog       4        2
2   Sheep     5        8
3   Horse     9        10
4   Lion      12       7",
header=TRUE, stringsAsFactors=FALSE)

row.names(Animals) = Animals$Animal

如果你想摆脱(现在是假的)动物专栏

Animals = Animals[,-1]
Animals
      Protein Fat
Dog         4   2
Sheep       5   8
Horse       9  10
Lion       12   7

答案 1 :(得分:0)

我们可以使用column_to_rownames

中的tibble
library(tidyverse)
df1 %>%  
     column_to_rownames('Animal')
#       Protein Fat
#Dog         4   2
#Sheep       5   8
#Horse       9  10
#Lion       12   7