Как преобразовать фрейм данных R цифра c в фрейм данных с упорядоченными коэффициентами? - PullRequest
1 голос
/ 01 марта 2020

У меня 77 числительных c переменных, которые являются технически упорядоченными факторными переменными. Я знаю, что могу сделать следующее для изменения первого столбца фрейма данных df в упорядоченную факторную переменную:

df[,1]<-as.ordered(df[,1])

Но есть ли быстрый способ, которым я могу превратить весь фрейм данных в 77? переменные в кадре данных упорядоченных факторных переменных?

Спасибо,

Ответы [ 2 ]

2 голосов
/ 01 марта 2020

Мы можем l oop над столбцами набора данных с помощью lapply, применить функцию и присвоить ее исходному набору данных

df[] <- lapply(df, as.ordered)

или с помощью dplyr

library(dplyr)
df <- df %>%
         mutate_all(as.ordered)
1 голос
/ 01 марта 2020

Для таких случаев это для l oop хорошо и достаточно быстро.

for (i in 1:ncol(df)) df[, i] <- as.factor(df[, i])

(Скорее всего - по моему опыту - быстрее, чем любое lapply или любое apply семейное решение - потому что избегать построения списков, которые очень медленны в R.)

Для 1:ncol(df) вы также можете использовать seq_along(df).

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