既存のデータフレームの列の値を行名に変換する 質問する

既存のデータフレームの列の値を行名に変換する 質問する

既存のデータ フレームの列の値を行名に変換したいと思います。データ フレームをエクスポートしてから呼び出しで再インポートせずにこれを行うことは可能ですか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.3
A     1     5     0
B     2     4     1
C     3     3     2
D     4     2     3
E     5     1     4

ベストアンサー1

こうすればできるはずです:

samp2 <- samp[,-1]
rownames(samp2) <- samp[,1]

つまり、簡単に言えば、再割り当て以外の選択肢はありません。

編集:訂正します。これをインプレースで行うこともできます。行名属性を割り当ててから、列を削除します。

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> 

おすすめ記事