当前位置:  开发笔记 > 编程语言 > 正文

dplyr - 如何选择某种类型的列

如何解决《dplyr-如何选择某种类型的列》经验,为你挑选了3个好方法。

有没有简洁的方法来选择特定类型的列dplyr?例如,如何选择dplyr链中的所有字符列?



1> Rickard..:

Dplyr 0.5具有select_if()允许你写的select_if(is.character)


这使代码比在dplyr链中使用apply更清晰!

2> Koundy..:

你可以这样做

dt %>% select(which(sapply(.,is.character)))



3> Tal J. Levy..:

一种方法是首先获得不同列的类.所以假设我们有一些数据:

library(dplyr)
DT <- data.frame(A = letters[1:6], B = c(T,F,F), C = seq(1,2,length.out = 6), D = 1:6)
dt <- tbl_df(DT)
dt$A <- as.character(dt$A)
产量
       A     B     C     D
  (chr) (lgl) (dbl) (int)
1      a  TRUE   1.0     1
2      b FALSE   1.2     2
3      c FALSE   1.4     3
4      d  TRUE   1.6     4
5      e FALSE   1.8     5
6      f FALSE   2.0     6

我们现在可以使用which函数获取类:

cls <- sapply(dt, class)
cls
产量
        A         B         C         D 
 "character" "logical" "numeric" "integer" 

现在很简单:

newDF <- dt %>% select(which(cls=="character"))
newDF
产量
      A
  (chr)
1     a
2     b
3     c
4     d
5     e
6     f

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有