[英]How to change a R numeric data frame into a data frame of ordered factors?
我有 77 個數字變量,它們是技術上有序的因子變量。 我知道我可以執行以下操作將數據框df
的第一列更改為有序因子變量:
df[,1]<-as.ordered(df[,1])
但是有沒有一種快速的方法可以將 77 個變量的整個數據框轉換為有序因子變量的數據框?
謝謝,
我們可以使用lapply
數據集列,應用該函數並將其分配回原始數據集
df[] <- lapply(df, as.ordered)
或者用dplyr
library(dplyr)
df <- df %>%
mutate_all(as.ordered)
對於這種情況,for 循環足夠好且足夠快。
for (i in 1:ncol(df)) df[, i] <- as.factor(df[, i])
(很可能 - 根據我的經驗 - 比任何lapply
或任何apply
-family 解決方案都快 - 因為避免在 R 中構建非常慢的列表。)
對於1:ncol(df)
您也可以使用seq_along(df)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.