#r
#r
Вопрос:
У меня есть «исходный» фрейм данных, содержащий данные в 3 столбцах. Я хотел бы ранжировать переменные в каждом столбце и выводить в новый фрейм данных.
Этот код работает для одного столбца. Могу ли я написать эту формулу, чтобы включить другие столбцы?
SortedFundamentals1 <- as.data.frame(rank(EquityFundamentals$Forward.P.E))
Это работает для одного столбца, но могу ли я вставить другие столбцы и выполнить их все сразу? Ранжирование независимо для каждого столбца.
Другими столбцами являются: FCF.Yield
и Operating.Margin
Комментарии:
1. Попробуйте
library(dplyr); df1 %>% mutate_at(vars(Forward.P.E, FCF.Yield, Operating.Margin), rank)
2. Спасибо, акрун. Нет ли способа изменить функцию «as.data.frame» для этого? Мне любопытно, и я полный новичок, и я хочу изучить различные способы изменения синтаксиса этой функции…
3. форматирование кода и небольшая очистка языка
Ответ №1:
Эта оболочка работает
SortedFundamentals1 =
as.data.frame( do.call(cbind,
list(rank(EquityFundamentals$Forward.P.E),
rank(EquityFundamentals$FCF.Yield),
rank(EquityFundamentals$Operating.Margin))))