简体   繁体   English

计算大 R 数据集中的对数

[英]count number couples in big R dataset

I have a 4049x30 dataset,every cell has a number or NA.我有一个 4049x30 的数据集,每个单元格都有一个数字或 NA。 I need to count how many times a certain couple of numbers appear per row.我需要计算每行出现几个特定数字的次数。 Ie IE

m<-matrix(c(1, 2, 3,
            1, 5, 6,
            3, 5, 6,
            2, 3, 7), ncol=3, byrow = TRUE)

I have (2,3) twice and (5,6) twice我有(2,3)两次和(5,6)两次

Thank you so much for your help非常感谢你的帮助

m_tbl <- table(paste(m[,-ncol(m)], m[,-1], sep = ','))

m_tbl[m_tbl > 1]
# 2,3 5,6 
#   2   2


m_tbl <- table(m[,-ncol(m)], m[,-1])

subset(as.data.frame(m_tbl), Freq > 1)
#    Var1 Var2 Freq
# 6     2    3    2
# 16    5    6    2


library(data.table)
m_dt <- data.table(c(m[,-ncol(m)]), c(m[,-1]))

m_dt[, .N, V1:V2][N > 1]
#    v1 v2 N
# 1:  2  3 2
# 2:  5  6 2

We can also do我们也可以做

library(dplyr)
library(stringr)
tibble(col1 = str_c(m[, -ncol(m)], m[, -1])) %>% 
    count(col1) %>%
    filter(n > 1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM