該聲明的整體思路是將rownames
轉換爲dataframe
的一列,並將其附加到實際數據中。
要點注意:rownames(any_object)
不是數據框中的列。
1.創建數據幀df
與一個列「Data`
df <- data.frame(Data = c("Stack","OverFLow","Stack","EXchange"))
df
# Data
# 1 Stack
# 2 OverFLow
# 3 Stack
# 4 EXchange
II。轉換的df
rownames
成列,並將其綁定到的df
Data
列,並將其存儲到新的數據幀df1
要rownames
轉換成數據幀的列的一個,它只是創建一個新的數據幀df1
其中您的first column
是row names
而second column
是舊數據的實際第一列。
df1 <- data.frame(obsnames = rownames(df),df$Data)
df1
# obsnames df.Data
# 1 1 Stack
# 2 2 OverFLow
# 3 3 Stack
# 4 4 EXchange
三,改變數據框的rownames
如果你想改變的任何數據幀的rownames
,這裏會是這樣的
rownames(df1) <- c("first","second","third","fourth")
df1
# obsnames df.Data
# first 1 Stack
# second 2 OverFLow
# third 3 Stack
# fourth 4 EXchange
IV。要綁定rownames
到整個dataframe
df <- data.frame(AA = 31:33, BB = 21:23, CC = 11:13, DD = 1:3)
df
# AA BB CC DD
# 1 31 21 11 1
# 2 32 22 12 2
# 3 33 23 13 3
df1 <- data.frame(obsnames = rownames(df),df)
df1
# obsnames AA BB CC DD
# 1 1 31 21 11 1
# 2 2 32 22 12 2
# 3 3 33 23 13 3
嘗試'data.frame(obsnames = row.names(mtcars),mtcars $ MPG)',看看它與樣本數據做什麼。它本質上是「聯結」。 – r2evans