r - 按列组合的完整案例数
问题描述
我有一个包含数百列的大型数据库,并且想知道两列的每种可能组合有多少完整的案例。
例子:
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 循环,但它变得非常麻烦。也许功能/解决方案已经存在?
解决方案
尝试crossprod
_is.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
推荐阅读
- typescript - Conditional type when key is defined in object parameter
- javascript - 将 OpenLayers 地图嵌入为 SVG foreignObject 会导致地图出现在所有其他 SVG 元素之上,而不管 SVG 元素的顺序如何
- angular - 如何与单击事件通信父子组件
- flutter - 如何在 Flutter 的容器中定位此文本?
- python - 从使用 json.loads 检索的纪元时间中删除 ms
- c++ - g++:错误:
: 没有这样的文件或目录 - wpf - WPF 列表框可以绕过另一个组件吗?
- vba - 使用输入掩码将日期值从文本框写入文本框的更新后事件在覆盖时会出现错误 80020009
- c# - C# 8.0 默认接口实现基本语法/显式调用
- sql - Oracle 10g 数据库包响应时间慢