如何在R中的矩阵中找到值和这些值的对应列

How to find the values and the corresponding column of those values in a matrix in R

所以在小范围内,假设我有 5 个患者,它们是矩阵的行。在列中,我有一些信息,如年龄、性别等。但问题是关于某些药物。所以假设我有 4 种分类药物。 1 表示患者接受了它们,否则为 0。现在对于一些患者我有这个向量 (1,1,?,?) 意味着前两个值应该是 1 并且我知道它们,但我不知道什么是“?”每位患者。

我假设它应该是一个 5 行至少 4 列的矩阵。现在,我怎样才能找到“?”的值?每行?此外,了解此值属于哪种治疗非常重要。 (我不确定这部分问题是否有意义,但我也想知道例如 (1,1,0,1) 是重复次数最多的组合还是 (1,1,0,0) 是或 ( 1,1,1,0) 或...

我对统计或数学的了解几乎为零,但情况就是这样,如果有人能解释我如何在 R 中做到这一点,我将不胜感激。

这样的事情怎么样,其中 n 是具有每个模式的观测值的数量:

library(dplyr)
dat <- data.frame(patient = LETTERS[1:20], 
                d1 = 1, 
                d2 = 1, 
                d3 = sample(c(0,1), 20, replace=TRUE), 
                d4 = sample(c(0,1), 20, replace=TRUE))

dat %>% 
  group_by(d1, d2, d3, d4) %>% 
  tally()
#> # A tibble: 4 × 5
#> # Groups:   d1, d2, d3 [2]
#>      d1    d2    d3    d4     n
#>   <dbl> <dbl> <dbl> <dbl> <int>
#> 1     1     1     0     0     1
#> 2     1     1     0     1     6
#> 3     1     1     1     0     9
#> 4     1     1     1     1     4

reprex package (v2.0.1)

于 2022-02-15 创建