gpt4 book ai didi

r - 如何按数据类型从 data.frame 中删除列?

转载 作者:行者123 更新时间:2023-12-04 11:25:52 28 4
gpt4 key购买 nike

我有一个包含近 200 个变量(列)和不同类型数据(num、int、logi、factor)的 data.frame。现在,我想删除所有“因子”类型的变量来运行函数 cor()

当我使用函数 str() 时,我可以看到哪些变量是“因子”类型的,但是我不知道如何选择和删除所有这些变量,因为一个一个删除很耗时。为了选择这些变量,我尝试了 attr() 和 typeof() 没有结果。

一些方向?

最佳答案

假设通用 data.frame这将删除 factor 类型的列

df[,-which(sapply(df, class) == "factor")]

编辑

根据@Roland 的建议,您也可以保留那些不是 factor 的内容。 .无论你喜欢哪个。
df[, sapply(df, class) != "factor"]

编辑 2

正如您所关心的 cor函数,@Ista 还指出,在该特定实例中过滤 is.numeric 会更安全。 .以上只是去除 factor类型。
df[,sapply(df, is.numeric)]

关于r - 如何按数据类型从 data.frame 中删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28548245/

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