首页 > 解决方案 > 使用 which() 从数据集中过滤掉列

问题描述

我正在处理mtcars数据集。我正在尝试创建一个仅包含非整数列的新数据集。为此,我尝试了几件事,主要尝试lapply像这样使用: > newdata <- lapply(mtcars, Negate(is.integer)) 但这并没有返回我需要的东西。在练习中,有人告诉我们 which() 可以帮助我们做到这一点,所以我问 - 怎么做?谢谢

标签: rdataset

解决方案


你可以做:

iris[sapply(iris, Negate(is.factor))]

    Sepal.Length Sepal.Width Petal.Length Petal.Width
1            5.1         3.5          1.4         0.2
2            4.9         3.0          1.4         0.2
3            4.7         3.2          1.3         0.2
4            4.6         3.1          1.5         0.2
5            5.0         3.6          1.4         0.2
6            5.4         3.9          1.7         0.4
7            4.6         3.4          1.4         0.3
8            5.0         3.4          1.5         0.2
9            4.4         2.9          1.4         0.2
10           4.9         3.1          1.5         0.1

在这里,为了说明,我使用了 iris 数据集并过滤掉了因素。


推荐阅读