R 对可能包含NA/缺失值的列值的组合(非排列)进行计数
我有点费劲去计算在几列中发现的可能包含缺失值(NA)的值的组合 在没有NA的列中,我将执行以下操作:R 对可能包含NA/缺失值的列值的组合(非排列)进行计数,r,R,我有点费劲去计算在几列中发现的可能包含缺失值(NA)的值的组合 在没有NA的列中,我将执行以下操作: set.seed(42) foo 1 a b t 1 #>2 a c r 1 #>3 c d o 1 #>4dhm1 #>5 d k o 1 #>6 e q 1 #>7 e g o 1 #>8 e n t 1 #>9 h j r 1 #>10 i j q 1 但当NA在数据帧中时,此操作失败: foo2您可以将na.last=TRUE添加到apply调用中(它是sort的一个参数): foo2
set.seed(42)
foo 1 a b t 1
#>2 a c r 1
#>3 c d o 1
#>4dhm1
#>5 d k o 1
#>6 e q 1
#>7 e g o 1
#>8 e n t 1
#>9 h j r 1
#>10 i j q 1
但当NA在数据帧中时,此操作失败:
foo2您可以将na.last=TRUE
添加到apply
调用中(它是sort
的一个参数):
foo2\u排序的%dplyr::count(V1、V2、V3)
V1 V2 V3 n
1Mx1
2 c l 1
三维3
4 e l 1
5MPU1
6 p q 1
7 p r y 1
8 r 1
我们也可以使用pmap
library(purrr)
library(dplyr)
foo2 %>%
pmap_dfr(~ sort(c(...), na.last = TRUE)) %>%
dplyr::count(select(., everything()))
# // or use
# dplyr::count(!!! rlang::syms(names(.)))
-输出
# A tibble: 8 x 4
# a b c n
# <chr> <chr> <chr> <int>
#1 b m x 1
#2 c l <NA> 1
#3 d <NA> <NA> 3
#4 e l <NA> 1
#5 m p u 1
#6 q p <NA> 1
#7 r p y 1
#8 r <NA> <NA> 1
#一个tible:8 x 4
#a、b、c、n
#
#1Mx1
#2 c l 1
#三维3
#4 e l 1
#5MPU1
#6 q p 1
#7 r p y 1
#8 r 1
谢谢你,艾伦。令人惊叹的。我没有想到检查?排序oops:)