如何限制 full_join() 重复项? -R
How to restrict full_join() duplicates? - R
我是一名新手 R 程序员。下面是我正在使用的数据框。
我目前 运行 遇到 tidyverse
的 full_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]),]
我是一名新手 R 程序员。下面是我正在使用的数据框。
我目前 运行 遇到 tidyverse
的 full_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]),]