我是新手R程序员。以下是我正在使用的数据框。
我目前遇到来自full_join()
的{{1}}的过滤问题。
tidyverse
我目前正在执行以下操作来执行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")
在这一步,我遇到了麻烦。我不关心积分的顺序。如何将重复项压缩成一行?
谢谢
答案 0 :(得分:2)
根据您考虑的列,使用复制功能。第一个将基于前5列清除重复项。最后一个将基于
清除重复项df3[!duplicated(df3[,1:5]),]
df3[!duplicated(df3[,7:11]),]