r - 在 R 中创建一个二元指标矩阵( bool 矩阵)

标签 r matrix dummy-data

我有一个数据列表,表明出席这样的 session :

Event                     Participant  
ConferenceA               John   
ConferenceA               Joe  
ConferenceA               Mary    
ConferenceB               John  
ConferenceB               Ted  
ConferenceC               Jessica  

我想创建以下格式的二进制指标出勤矩阵:
Event        John  Joe  Mary  Ted  Jessica  
ConferenceA  1     1    1     0    0  
ConferenceB  1     0    0     1    0  
ConferenceC  0     0    0     0    1  

有没有办法在 R 中做到这一点?

最佳答案

假设您的 data.frame被称为“mydf”,只需使用 table :

> table(mydf)
             Participant
Event         Jessica Joe John Mary Ted
  ConferenceA       0   1    1    1   0
  ConferenceB       0   0    1    0   1
  ConferenceC       1   0    0    0   0

如果有可能有人不止一次参加 session ,领导 table要返回大于 1 的值,您可以简单地重新编码所有大于 1 到 1 的值,如下所示。
temp <- table(mydf)
temp[temp > 1] <- 1

请注意,这将返回 table .如果你想要一个 data.frame要退回,请使用 as.data.frame.matrix :
> as.data.frame.matrix(table(mydf))
            Jessica Joe John Mary Ted
ConferenceA       0   1    1    1   0
ConferenceB       0   0    1    0   1
ConferenceC       1   0    0    0   0

在上面,“mydf”定义为:
mydf <- structure(list(Event = c("ConferenceA", "ConferenceA", 
  "ConferenceA", "ConferenceB", "ConferenceB", "ConferenceC"), 
  Participant = c("John", "Joe", "Mary", "John", "Ted", "Jessica")), 
  .Names = c("Event", "Participant"), class = "data.frame", 
  row.names = c(NA, -6L))

请在 future 以类似的方式共享您的数据。

关于r - 在 R 中创建一个二元指标矩阵( bool 矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17431524/

相关文章:

r - 在给定一列的情况下计算 R 中的耗时

r - 统计问题 : Kernel Smoothing in R

c++ - 使用 GSL 进行 QR 分解的零空间基

从 JSON 模式生成 Python JSON 虚拟数据

sql - 将常量行结果添加到 SQL 查询 - MS Access

r - 随机效应变量是否自动被视为 R 中 lmer(或 lme)的因子?

r - r中使用sqldf时连接数据库失败

python - 了解 Moore-Penrose 逆的 numpy 代码背后的逻辑

algorithm - 我是否可以始终假设角值 !=1 的 mvp 矩阵正在执行缩放?

sonarqube - 为 SonarQube 生成虚拟数据