Первая строка и столбец в качестве заголовков для таблицы в r

#r #dataframe #row

#r #фрейм данных #строка

Вопрос:

У меня есть таблица, и я хочу, чтобы верхняя строка и первый столбец были заголовками (строка заголовка и столбец) для таблицы. У меня есть изображение того, что я хочу, и код dput ниже:

Изображение того, что я хочу


Dput код ниже:

 structure(c("TIDM", "12m yield", "Net assets (fund)", "Currency (prices)", 
"12m yield", "XDGU", "3.89", "1,287.40", "USD", "3.89", "AT1D", 
"5.48", "485.934", "GBP", "5.48", "PRFD", "4.63", "141.309", 
"USD", "4.63", "PRFP", "4.63", "141.309", "GBP", "4.63"), .Dim = c(5L, 
5L), .Dimnames = list(c("V1", "V2", "V3", "V4", "V5"), NULL))
 

Ответ №1:

Вы можете использовать :

 #Convert to dataframe if needed
df <- data.frame(df)
#Add rownames
rownames(df) <- make.unique(df[, 1])
#Add column names
colnames(df) <- df[1, ]
#We remove data from 1st row and 1st column
df <- df[-1, -1]
df

#                      XDGU    AT1D    PRFD    PRFP
#12m yield             3.89    5.48    4.63    4.63
#Net assets (fund) 1,287.40 485.934 141.309 141.309
#Currency (prices)      USD     GBP     USD     GBP
#12m yield.1           3.89    5.48    4.63    4.63
 

Мы используем make.unique для создания уникальных имен, поскольку у нас не может быть повторяющихся имен строк в данных. Вы можете удалить 1-ю строку, если хотите сохранить данные в виде матрицы.