行名が意味のある r のデータ フレームを使用しています。したがって、行名の列に名前を付けたいと思います。どうすればいいですか?
質問する
154798 次
2 に答える
82
行名をdata.frameの適切な列に変換したいようです。例えば:
# add the rownames as a proper column
myDF <- cbind(Row.Names = rownames(myDF), myDF)
myDF
# Row.Names id val vr2
# row_one row_one A 1 23
# row_two row_two A 2 24
# row_three row_three B 3 25
# row_four row_four C 4 26
その後、元の行名を削除する場合:
rownames(myDF) <- NULL
myDF
# Row.Names id val vr2
# 1 row_one A 1 23
# 2 row_two A 2 24
# 3 row_three B 3 25
# 4 row_four C 4 26
または、すべてのデータが同じクラス (つまり、すべて数値、またはすべて文字列) の場合は、Matrix に変換して名前を付けることができます。dimnames
myMat <- as.matrix(myDF)
names(dimnames(myMat)) <- c("Names.of.Rows", "")
myMat
# Names.of.Rows id val vr2
# row_one "A" "1" "23"
# row_two "A" "2" "24"
# row_three "B" "3" "25"
# row_four "C" "4" "26"
于 2013-07-07T18:11:46.397 に答える
18
このtibble
パッケージには、行名を明示的な変数に変換する専用の関数が含まれるようになりました。
library(tibble)
rownames_to_column(mtcars, var="das_Auto") %>% head
与えます:
das_Auto mpg cyl disp hp drat wt qsec vs am gear carb
1 Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
4 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
5 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
6 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
于 2016-10-07T15:52:07.940 に答える