【问题标题】:Number of complete cases by combination of columns [duplicate]按列组合的完整案例数[重复]
【发布时间】:2021-06-01 21:13:36
【问题描述】:

我有一个包含数百列的大型数据库,我想知道两列的每种可能组合有多少完整的案例。

例子:

library(data.table)
DT <- data.table(V1 = c(NA, NA, NA, 3, 5),
                 V2 = c("a", "b", "c", NA, NA),
                 V3 = c(1, 5, NA, 4, 5),
                 V4 = c(NA, NA, NA, NA, NA))

# > DT
#    V1   V2 V3 V4
# 1: NA    a  1 NA
# 2: NA    b  5 NA
# 3: NA    c NA NA
# 4:  3 <NA>  4 NA
# 5:  5 <NA>  5 NA

我的期望是这样的:

对角线表示该变量的完整案例数。我想过使用某种 for 循环,但它变得非常麻烦。也许某个功能/解决方案已经存在?

【问题讨论】:

    标签: r dataframe data.table data-wrangling


    【解决方案1】:

    试试crossprodis.na

    > crossprod(!is.na(DT))
       V1 V2 V3 V4
    V1  2  0  2  0
    V2  0  3  2  0
    V3  2  2  4  0
    V4  0  0  0  0
    

    【讨论】:

    • 绝妙的解决方案!
    • crossprod 的绝佳选择
    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多