【发布时间】:2020-02-26 01:54:12
【问题描述】:
如果我有一个数据框中的列名向量,我如何检查它们是否都是数字。如果有任何非数值变量,如何识别它?
我已经尝试了第一个,但在我解决它之前无法移动到第二个。
当我尝试以下操作时,我不断收到false
all(df[,numeric_cols] %>% is.numeric())
我可以在if 条件中放入一行代码,然后找到不是数字的代码吗?
【问题讨论】:
如果我有一个数据框中的列名向量,我如何检查它们是否都是数字。如果有任何非数值变量,如何识别它?
我已经尝试了第一个,但在我解决它之前无法移动到第二个。
当我尝试以下操作时,我不断收到false
all(df[,numeric_cols] %>% is.numeric())
我可以在if 条件中放入一行代码,然后找到不是数字的代码吗?
【问题讨论】:
您可以通过以下方式检查所有类是否为数字
all(sapply(df[,numeric_cols], class) == "numeric")
识别非数字列的一种方法是:
names(Filter(function(x) !is.numeric(x), df[,numeric_cols]))
【讨论】: