【问题标题】:Given a vector of column names, how to check if all of them are numeric?给定一个列名向量,如何检查它们是否都是数字?
【发布时间】:2020-02-26 01:54:12
【问题描述】:

如果我有一个数据框中的列名向量,我如何检查它们是否都是数字。如果有任何非数值变量,如何识别它?

我已经尝试了第一个,但在我解决它之前无法移动到第二个。

当我尝试以下操作时,我不断收到false

all(df[,numeric_cols] %>% is.numeric())

我可以在if 条件中放入一行代码,然后找到不是数字的代码吗?

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    您可以通过以下方式检查所有类是否为数字

    all(sapply(df[,numeric_cols], class) == "numeric")
    

    识别非数字列的一种方法是:

    names(Filter(function(x) !is.numeric(x), df[,numeric_cols]))
    

    【讨论】:

      猜你喜欢
      • 2019-08-17
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多