簡體   English   中英

如何將 R 數字數據框更改為有序因子的數據框?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM