Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中查找数据帧中重复值的最大数量_R_Loops_For Loop - Fatal编程技术网

在R中查找数据帧中重复值的最大数量

在R中查找数据帧中重复值的最大数量,r,loops,for-loop,R,Loops,For Loop,我是一个程序员 我有一个名为“narc”的数据框,记录了40个不同的自恋测量问题的答案 看起来是这样的: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 1723 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7231 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 5556 2 2 2 1 2

我是一个程序员

我有一个名为“narc”的数据框,记录了40个不同的自恋测量问题的答案

看起来是这样的:

 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16
1723  0  0  0  0  0  0  0  0  0   0   0   0   0   0   0   0
7231  2  2  2  1  1  2  1  1  2   2   2   2   2   2   1   2
5556  2  2  2  1  2  2  2  1  1   2   2   1   2   2   1   1
1511  2  2  2  2  2  2  2  2  2   2   2   2   2   2   2   2
2080  1  1  2  2  1  1  2  2  2   1   1   2   1   2   1   1
1074  2  2  1  1  2  2  2  1  1   1   1   1   2   2   1   2
     Q17 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q30
1723   0   0   0   0   0   0   0   0   0   0   0   0   0   0
7231   1   2   2   1   2   1   1   2   2   1   1   1   2   2
5556   1   1   1   1   1   2   1   2   2   1   2   1   2   1
1511   2   2   2   2   2   2   2   2   2   2   2   2   2   2
2080   1   1   1   1   2   1   2   1   1   1   2   1   1   1
1074   2   1   1   1   1   1   2   2   2   1   1   1   2   2
     Q31 Q32 Q33 Q34 Q35 Q36 Q37 Q38 Q39 Q40 elapse gender age
1723   0   0   0   0   0   0   0   0   0   0      8      1  23
7231   2   1   1   1   1   2   2   2   2   1     24      1  21
5556   2   1   1   2   1   1   2   2   2   1     33      2  18
1511   2   2   2   2   2   2   2   2   2   2     51      1  16
2080   2   2   1   1   2   1   1   2   2   2     59      1  20
1074   1   1   1   1   1   2   2   1   2   1     60      1  24
     score      level
1723     0        not
7231     8        not
5556    11        not
1511    17     mildly
2080    21 moderately
1074    14        not
  Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17
1  1  1  1  2  2  1  2  1  2   2   1   1   1   1   2   1   2
  Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q30 Q31 Q32
1   2   2   2   1   2   2   1   1   2   1   2   1   1   1   2
  Q33 Q34 Q35 Q36 Q37 Q38 Q39 Q40
1   1   1   2   1   1   1   1   2
我还有一个名为“narc.key”的数据框,它的答案与自恋相对应,如下所示:

 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16
1723  0  0  0  0  0  0  0  0  0   0   0   0   0   0   0   0
7231  2  2  2  1  1  2  1  1  2   2   2   2   2   2   1   2
5556  2  2  2  1  2  2  2  1  1   2   2   1   2   2   1   1
1511  2  2  2  2  2  2  2  2  2   2   2   2   2   2   2   2
2080  1  1  2  2  1  1  2  2  2   1   1   2   1   2   1   1
1074  2  2  1  1  2  2  2  1  1   1   1   1   2   2   1   2
     Q17 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q30
1723   0   0   0   0   0   0   0   0   0   0   0   0   0   0
7231   1   2   2   1   2   1   1   2   2   1   1   1   2   2
5556   1   1   1   1   1   2   1   2   2   1   2   1   2   1
1511   2   2   2   2   2   2   2   2   2   2   2   2   2   2
2080   1   1   1   1   2   1   2   1   1   1   2   1   1   1
1074   2   1   1   1   1   1   2   2   2   1   1   1   2   2
     Q31 Q32 Q33 Q34 Q35 Q36 Q37 Q38 Q39 Q40 elapse gender age
1723   0   0   0   0   0   0   0   0   0   0      8      1  23
7231   2   1   1   1   1   2   2   2   2   1     24      1  21
5556   2   1   1   2   1   1   2   2   2   1     33      2  18
1511   2   2   2   2   2   2   2   2   2   2     51      1  16
2080   2   2   1   1   2   1   1   2   2   2     59      1  20
1074   1   1   1   1   1   2   2   1   2   1     60      1  24
     score      level
1723     0        not
7231     8        not
5556    11        not
1511    17     mildly
2080    21 moderately
1074    14        not
  Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17
1  1  1  1  2  2  1  2  1  2   2   1   1   1   1   2   1   2
  Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 Q29 Q30 Q31 Q32
1   2   2   2   1   2   2   1   1   2   1   2   1   1   1   2
  Q33 Q34 Q35 Q36 Q37 Q38 Q39 Q40
1   1   1   2   1   1   1   1   2
我想找出哪个问题的自恋答案最多

我解决这个问题的方法是创建一个值向量来记录与每个列的narc.key匹配的行数。然而,我有一些麻烦,如何做到这一点。以下是我目前的代码:

  for (i in 1:nrow(narc)){

  }
    for(x in 1:40){
      highest.score<-narc[i]
      for(y in 1:40)
        if(narc[i,y]==narc.key[1,y]){
for(1中的i:nrow(narc)){
}
对于(1:40中的x){

最高.score这并不奇怪,但您可以创建一个与问题大小相同的答案数据集,只需使用
==
(如果您的数据集不是非常大,这应该不会太慢)


编辑:我误读了需求。这个答案表明哪些问题最常见的答案是narc答案。而不是哪个问题的narc答案最多

这里有一种方法。我可以使用管道来简化操作。我有一个包含40列、10行的矩阵——全部随机选择为0、1或2。我使用
apply
函数跨列应用,并将响应制成表格。然后,我应用于列表中的每个元素(40,每列一个)函数,
which.max
,它将返回表中最高值的索引。然后,我应用于这些列表元素中的每一个(同样,40)然后询问
返回值的
名称
,which.max
将给我计数最高的响应。最后,我
取消列出
,并将它们转换为整数(否则它们是文本)。这可以与narc键进行比较,以查看哪些答案匹配

library(magrittr)
mat = matrix(sample(c(0,1,2),400,replace=T),ncol=40)
output = mat %>%
  apply(2,table) %>%
  lapply(which.max) %>%
  lapply(names) %>%
  unlist() %>%
  as.integer()
narc.key == output

这样做的一个意外结果是,如果大多数常见问题都有相同的答案,那么您可能会得到第一个答案,而不是两个答案。

这似乎对我不起作用,因为narc数据框实际上是huge@HelenaGray比如有多大?您是在出错还是只花了几个小时?维度是什么,是否有NAs?