我是R编程新手。需要帮助来过滤我的数据。例如,我的数据集是mtcars。我想提取至少具有18以上的三个值的列。我该怎么做。谢谢
我已经使用了排序功能,但这仅适用于一列。而不是整个数据帧。
答案 0 :(得分:0)
您可以使用以下代码获取列的名称:
library(dplyr)
library(tidyr)
columns = mtcars %>% gather() %>% filter(value > 18) %>% count(key) %>% filter(n > 3) %>%
select(key)
然后使用以下数据过滤数据框:
mtcars[, c(t(columns))]
gather
将数据框转换为具有两列的数据框:
将过滤掉大于18的值,并通过key
(列的名称)对观察值进行计数。