如何限制 full_join() 重复项? -R

How to restrict full_join() duplicates? - R

我是一名新手 R 程序员。下面是我正在使用的数据框。 我目前 运行 遇到 tidyversefull_join() 过滤问题。

library(tidyverse)

set.seed(1234)
df <- data.frame(
              trial = rep(0:1, each = 8),
              sex = rep(c('M','F'), 4),
              participant = rep(1:4, 4),
              x = runif(16, 1, 10),
              y = runif(16, 1, 10))

df

我目前正在进行以下操作来完成full_join()

df <- df %>% mutate(k = 1)
df <- df %>% 
   full_join(df, by = "k") 

我正在限制结果以获得试验之间同一参与者的分数组合

df2 <- filter(df, sex.x == sex.y, participant.x == participant.y, trial.x != trial.y)
df3 <- filter(df2, participant.x == 1)
df3

在这一步,我 运行 遇到了麻烦。我不关心点的顺序。如何将重复项压缩成一行?

谢谢

根据您正在考虑的列,使用复制功能。第一个将根据前 5 列清除重复项。最后一个将根据

剔除重复项
df3[!duplicated(df3[,1:5]),]

df3[!duplicated(df3[,7:11]),]