Подтвердить что ты не робот

Каков наилучший способ транспонирования data.frame в R и установить один из столбцов в качестве заголовка для новой транспонированной таблицы?

Каков наилучший способ транспонирования data.frame в R и установить один из столбцов в качестве заголовка для новой транспонированной таблицы? Я закодировал способ сделать это ниже. Поскольку я все еще новичок в R. Я бы хотел, чтобы предложения улучшили мой код, а также альтернативы, которые были бы более похожими на R. Мое решение также, к сожалению, немного жестко закодировано (т.е. Заголовки новых столбцов находятся в определенном месте).

# Assume a data.frame called fooData
# Assume the column is the first column before transposing

# Transpose table
fooData.T <- t(fooData)

# Set the column headings
colnames(fooData.T) <- test[1,]

# Get rid of the column heading row
fooData.T <- fooData.T[2:nrow(fooData.T), ]

#fooData.T now contains a transposed table with the first column as headings
4b9b3361

Ответ 1

Хорошо, вы могли бы сделать это за 2 шага, используя

# Transpose table YOU WANT
fooData.T <- t(fooData[,2:ncol(fooData)])

# Set the column headings from the first column in the original table
colnames(fooData.T) <- fooData[,1] 

Результат - это матрица, которую вы, вероятно, знаете, из-за проблем класса при переносе. Я не думаю, что это будет единственный способ сделать это, учитывая отсутствие навыков именования на этапе транспонирования.

Ответ 2

У меня была схожая проблема: у меня была переменная факторов в длинном формате, и я хотел, чтобы каждый фактор стал новым заголовком столбца; используя "unstack" из библиотеки статистики, сделал это за один шаг. Если столбец, который вы хотите в качестве заголовка, не является фактором, "cast" из библиотеки reshape может работать.