如何检查两个随机选择的响应是否匹配?

约翰·亨利

我有一个数据集,其中有500个人,在1-5个问题的275个问题中随机回答了5个问题。

library(dplyr)
set.seed(13)

df <- tibble(id = rep(1:500, 5), 
       q = sample.int(n = 275, size = max(id)*5, replace = T),
       ans = sample.int(n = 5, size = max(id)*5, replace = T))

我的任务是每个人,从5个响应中(从其他人也回答的响应中)随机选择一个,然后与随机选择的回答相同问题的其他人进行比较。如果两个响应相同,则将其标记为true,否则将其标记为false。

我考虑过通过在多个人回答以下问题的基础上为每个人分配一个选择的问题来解决这个问题:

sampled_q <- 
df %>%
  group_by(q) %>% 
  mutate(n_times_answer = n()) %>% 
  filter(n_times_answer >= 2) %>% 
  group_by(id) %>% 
  sample_n(1) %>% 
  transmute(id, q, assigned = T)

df %>%
  left_join(sampled_q)

但是从这里我不知道如何进行检查。这也是低效的,因为一旦我检查了一个人的回复,我就检查了两个回复,因此从技术上讲我可以标记两个人的T / F,尽管提高效率对我来说并不是很重要。

我还考虑过重塑数据:

df %>%  
  pivot_wider(id_cols = id, 
              names_from = q,
              values_from = ans) %>% 
  unnest(everything())

但是我发现这很慢,而且我也被困在这里。

任何帮助,将不胜感激。

保罗

从每个回答者中抽样1个有效问题,然后将其重新加入df

df %>%
  group_by(q) %>%
  filter(n_distinct(id) > 1) %>% # Keep only questions that have more than one answerer
  group_by(id) %>%
  sample_n(1) %>% # Keep only one question from each answerer
  inner_join(df, by = "q") %>% # Join it back on the main table to identify other answers to the same question
  filter(id.x != id.y) %>% # Don't include answers from the same answerer
  group_by(id.x) %>%
  sample_n(1) %>% # Keep only one other answer
  mutate(matched = ans.x == ans.y) # Check if the answers matched
#> # A tibble: 500 x 6
#> # Groups:   id.x [500]
#>     id.x     q ans.x  id.y ans.y matched
#>    <int> <int> <int> <int> <int> <lgl>  
#>  1     1   175     3   106     3 TRUE   
#>  2     2    15     5   117     4 FALSE  
#>  3     3   256     4   366     3 FALSE  
#>  4     4   268     4   194     4 TRUE   
#>  5     5   161     3   485     5 FALSE  
#>  6     6   100     1   390     4 FALSE  
#>  7     7   248     5   307     2 FALSE  
#>  8     8   126     5   341     4 FALSE  
#>  9     9    65     2    93     2 TRUE   
#> 10    10    48     1   461     5 FALSE  
#> # … with 490 more rows

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查两个随机选择的响应是否匹配?

来自分类Dev

如何最好地检查两个无序对是否匹配?

来自分类Dev

如何检查两个选择是否返回相同的ID

来自分类Dev

如何检查ajax响应是否为javascript内容类型?

来自分类Dev

如何检查服务器响应是否为json?

来自分类Dev

git-remote-http.exe在得到200之前收到两个401响应是否正常?

来自分类Dev

Django-检查两个模型的主键是否匹配

来自分类Dev

jQuery检查两个密码是否匹配

来自分类Dev

Laravel表单请求检查两个密码是否匹配?

来自分类Dev

SML-如何检查模式匹配中两个参数是否相同?

来自分类Dev

如何检查两个日期数组是否具有匹配项?

来自分类Dev

Python 3:即使元素顺序不正确,如何检查两个列表是否匹配

来自分类Dev

检查多个(多于两个)数组是否匹配,无论 ruby 中的元素顺序如何

来自分类Dev

如何在两个值之间随机选择?

来自分类Dev

除了例外,如何从两个表中随机选择?

来自分类Dev

如何选择两个不同列的随机日期时间?

来自分类Dev

检查json响应是否正确

来自分类Dev

如何匹配两个图像,无论模式是否相同?

来自分类Dev

如何检查两个单词的基数或词干是否相同?

来自分类Dev

如何检查两个排列是否对称?

来自分类Dev

如何检查两个[String:Any]是否相同?

来自分类Dev

如何检查两个词是否是anagrams python

来自分类Dev

如何检查Bash中两个路径是否相等?

来自分类Dev

如何检查两个Map对象是否相等?

来自分类Dev

如何检查两个文件的内容是否相同

来自分类Dev

如何检查两个文件是否存在

来自分类Dev

如何检查两个文件内容是否相同?

来自分类Dev

如何检查两个条件是否同时满足

来自分类Dev

如何检查两个EditText是否为空?

Related 相关文章

  1. 1

    如何检查两个随机选择的响应是否匹配?

  2. 2

    如何最好地检查两个无序对是否匹配?

  3. 3

    如何检查两个选择是否返回相同的ID

  4. 4

    如何检查ajax响应是否为javascript内容类型?

  5. 5

    如何检查服务器响应是否为json?

  6. 6

    git-remote-http.exe在得到200之前收到两个401响应是否正常?

  7. 7

    Django-检查两个模型的主键是否匹配

  8. 8

    jQuery检查两个密码是否匹配

  9. 9

    Laravel表单请求检查两个密码是否匹配?

  10. 10

    SML-如何检查模式匹配中两个参数是否相同?

  11. 11

    如何检查两个日期数组是否具有匹配项?

  12. 12

    Python 3:即使元素顺序不正确,如何检查两个列表是否匹配

  13. 13

    检查多个(多于两个)数组是否匹配,无论 ruby 中的元素顺序如何

  14. 14

    如何在两个值之间随机选择?

  15. 15

    除了例外,如何从两个表中随机选择?

  16. 16

    如何选择两个不同列的随机日期时间?

  17. 17

    检查json响应是否正确

  18. 18

    如何匹配两个图像,无论模式是否相同?

  19. 19

    如何检查两个单词的基数或词干是否相同?

  20. 20

    如何检查两个排列是否对称?

  21. 21

    如何检查两个[String:Any]是否相同?

  22. 22

    如何检查两个词是否是anagrams python

  23. 23

    如何检查Bash中两个路径是否相等?

  24. 24

    如何检查两个Map对象是否相等?

  25. 25

    如何检查两个文件的内容是否相同

  26. 26

    如何检查两个文件是否存在

  27. 27

    如何检查两个文件内容是否相同?

  28. 28

    如何检查两个条件是否同时满足

  29. 29

    如何检查两个EditText是否为空?

热门标签

归档