似乎无法找到一种简单或优雅(对我来说)测试数据框是仅包含数字还是仅包含因子等的方式。
到目前为止我的解决方案是:
all(sapply(x, is.numeric)) |
all(sapply(x, is.factor)) |
all(sapply(x, is.character))
但我很确定有更好的方法...... 所以问题是 ......有更简单的方法吗?
答案 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