Транспонировать фрейм данных в R и изменять имена столбцов - PullRequest
0 голосов
/ 11 февраля 2020

Я хотел бы переместить этот фрейм данных:

First Dataframe Rstudio

Поэтому я использую эту строку кода

perCountry <- data.frame(t(perEnergy))

И я получаю такой результат:

Second Dataframe Rstudio

Но мне бы хотелось, чтобы без первого ряда (X1, X2, X3 ...) и с названием страны в этом месте. Как я мог это сделать?

1 Ответ

0 голосов
/ 11 февраля 2020

Проблема в том, что у вас будет два разных столбца для каждой страны: один для% и один для MW. Может быть проще работать, если у вас есть два разных фрейма данных:

percentages <- data.frame(t(perEnergy[perEnergy$a == "%",]))
MW          <- data.frame(t(perEnergy[perEnergy$a == "[MW]",]))

Вы можете превратить первую строку в имена столбцов, например:

names(percentages) <- percentages[1,]
names(MW)          <- MW[1,]

Затем удалите нежелательные сначала строка, подобная этой:

percentages <- percentages[-1,]
MW          <- MW[-1,]

Наконец, если вы хотите снова соединить их, вам понадобятся уникальные имена строк. Вы можете сделать что-то вроде этого:

rownames(percentages) <- paste0(rownames(percentages), "_percent")
rownames(MW)          <- paste0(rownames(MW), "_MW")

, чтобы, наконец, вы могли объединить два кадра данных:

perCountry <- rbind(percentages, MW)

К сожалению, я не могу протестировать приведенный выше код, так как вы не опубликовали ни одного полезные данные в вашем вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...