R 比较重复样本

R 比较重复样本,r,dataframe,R,Dataframe,我有一个数据框,一列中有1200个案例,一式两份,总共2400个。i、 e.A1.1234567_10,A1.1234567_20,我想比较多个列,以便每个重复对在每个列中具有相同或不同的结果。列包含我如何制作的因子,以便它可以为我的因子提供逻辑表达式。我想通过匹配_10和_20的ID(即A1.1234567)选择每个案例: 范例 (一行数据帧) 我希望输出像这样(新数据帧) 这将通过比较_10和_20的唯一ID号对列下的所有样本重复此操作。这里有一个tidyverse选项: 库(tidyver

我有一个数据框,一列中有1200个案例,一式两份,总共2400个。i、 e.A1.1234567_10,A1.1234567_20,我想比较多个列,以便每个重复对在每个列中具有相同或不同的结果。列包含我如何制作的因子,以便它可以为我的因子提供逻辑表达式。我想通过匹配_10和_20的ID(即A1.1234567)选择每个案例:

范例 (一行数据帧)

我希望输出像这样(新数据帧)


这将通过比较_10和_20

的唯一ID号对列下的所有样本重复此操作。这里有一个tidyverse选项:

库(tidyverse)
df ID obs var1 var2 var3 var4 var5 var6 var7 var8
#>1 A1.1234567 10正常
#>2 A1.1234567 20正常-正常-异常-正常
df_整洁%>%
选择(-obs)%>%
分组依据(ID)%>%
总结所有内容(提升(`=`))
#>#A tible:1 x 9
#>ID var1 var2 var3 var4 var5 var6 var7 var8
#>                
#>1 A1.1234567正确-正确-错误-正确

另一种方法是使用
tidyverse
(归功于@alistaire的
dput
):

结果:

# A tibble: 1 x 9
          ID  var1  var2  var3  var4  var5  var6  var7  var8
       <chr> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl>
1 A1.1234567  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
#一个tible:1 x 9
ID var1 var2 var3 var4 var5 var6 var7 var8
1 A1.1234567正确-正确-错误-正确

您可能需要检查是否存在重复的
我正是用我自己的数据帧尝试此操作的,并且我不断得到错误:总结中的错误(.data,dots):计算错误:运算符需要两个参数。此方法假设两行一组。如果你有更多,可以使用
总结所有(减少,`=`)
。如果你有一行组,一些额外的虽然可能是必要的。这给了我正确的第一部分,允许我结合样本,但不知何故,现在每一个都是假的,当我知道不是这样的时候
A1.1234567 TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE
library(tidyverse)
library(stringr)
df %>%
  group_by(ID = str_extract(ID, ".+(?=_)")) %>%
  summarize_all(funs(dim(table(.)) == 1))
# A tibble: 1 x 9
          ID  var1  var2  var3  var4  var5  var6  var7  var8
       <chr> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl> <lgl>
1 A1.1234567  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE