我有一个data.frame,包含近200个变量(列)和不同类型的数据(num,int,logi,factor).现在,我想删除"factor"类型的所有变量来运行函数cor()
当我使用函数str()时,我可以看到哪些变量属于"factor"类型,但我不知道如何选择和删除所有这些变量,因为逐个删除是很费时间的.为了选择这些变量,我尝试了attr()和typeof()而没有结果.
有些方向?
假设一般,data.frame这将删除类型的列factor
df[,-which(sapply(df, class) == "factor")]
Run Code Online (Sandbox Code Playgroud)
编辑
根据@Roland的建议,你也可以保留那些不是factor.无论你喜欢什么.
df[, sapply(df, class) != "factor"]
Run Code Online (Sandbox Code Playgroud)
编辑2
当您关注该cor函数时,@ Ista还指出在该特定实例中过滤会更安全is.numeric.以上只是删除factor类型.
df[,sapply(df, is.numeric)]
Run Code Online (Sandbox Code Playgroud)