测试数据帧是否仅包含相同的数据类型

时间:2016-01-12 19:10:36

标签: r

似乎无法找到一种简单或优雅(对我来说)测试数据框是仅包含数字还是仅包含因子等的方式。

到目前为止我的解决方案是:

all(sapply(x, is.numeric)) |
    all(sapply(x, is.factor)) |
    all(sapply(x, is.character))

但我很确定有更好的方法...... 所以问题是 ......有更简单的方法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用

length(unique(sapply(iris, class))) == 1
#[1] FALSE                            # iris contains different column classes
length(unique(sapply(mtcars, class))) == 1
#[1] TRUE                             # mtcars contains only 1 column class