回答:
これは行う必要があります:
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>
2016以降、も使用できますtidyverse
。
library(tidyverse)
samp %>% remove_rownames %>% column_to_rownames(var="names")
tibble::column_to_rownames
samp %>% remove_rownames %>% column_to_rownames(var="names") %>% as.data.frame()
row.names<-.data.frame
(*tmp*
、value = value)のエラー:「row.names」の長さが無効ですさらに:警告メッセージ:ティブルでの行名の設定は非推奨です。