gpt4 book ai didi

r - 如何从数据框中仅选择无序因素?

转载 作者:行者123 更新时间:2023-12-02 03:15:15 25 4
gpt4 key购买 nike

我找不到一种简单的方法来从数据框中仅选择名义(无序因子)变量的列。

我尝试使用表达式“!is.ordered”来获取未排序的因子变量,但这会引发错误。

df=mtcars
df$am=as.factor(df$am)
df$carb=as.ordered(df$carb)
df2=df[,lapply(df,(is.factor & !is.ordered))]

!is.ordered 中的错误:参数类型无效

这也不起作用:

df=mtcars
df$am=as.factor(df$am)
df$carb=as.ordered(df$carb)
df2=df[,sapply(df, is.factor)]
ords=unlist(lapply(df2,is.ordered))
df2=df2[,-ords]
names(df2)

最佳答案

df[,sapply(df, function(x) is.factor(x) & !is.ordered(x)), drop = FALSE]

dplyr::select_if(df, ~ !is.ordered(.) & is.factor(.)) # Extended by is.factor of utubun

从可读性状态来看,如果更喜欢 dplyr 函数,但有一个 base R 替代品总是很好。

关于r - 如何从数据框中仅选择无序因素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com