データフレームを作成すると、自動的に行名が付けられる。
> no <- c(2, 4, 1, 5, 3)
> name <- c("A", "B", "C", "D", "E")
> dtf <- data.frame(no, name)
> dtf
no name
1 2 A
2 4 B
3 1 C
4 5 D
5 3 E
上の左端の数字のとおりに、データフレーム作成時に、最初から順番に1~5の番号が強制的に割り振られる。このデータフレームを、例えばソートすると以下のようになる。
> dtf2 <- dtf[order(dtf$no), ]
> dtf2
no name
3 1 C
1 2 A
5 3 E
2 4 B
4 5 D
3,1,5,2,4とソート前に割り振られた番号(行名)がそのまま付いたままになる。この行名を消すにはrownames関数を使う。NULLを与えると行名はすべて消される(最初から順番に1~の番号が割り当てられる)。
> rownames(dtf2) <- NULL
> dtf2
no name
1 1 C
2 2 A
3 3 E
4 4 B
5 5 D
例えば、以下のようなこともできる。
> rownames(dtf2) <- 5:1
> dtf2
no name
5 1 C
4 2 A
3 3 E
2 4 B
1 5 D