R 计算每4个其他向量组合中向量值不同的次数

R 计算每4个其他向量组合中向量值不同的次数,r,R,这就是我的数据帧的外观: a <- c(1,1,4,4,5) b <- c(1,2,3,3,5) c <- c(1,4,4,4,5) d <- c(2,2,4,4,5) e <- c(1,5,3,2,5) df <- data.frame(a,b,c,d,e) 第3行和第4行在向量d(组合为4344)之前完全相同,因此只应返回它们的一个实例,但它们在向量e中有两个不同的值。我想得到这些的一个计数,所以4344的组合在向量e中有两个不同的值 预期输出将告诉我

这就是我的数据帧的外观:

a <- c(1,1,4,4,5)
b <- c(1,2,3,3,5)
c <- c(1,4,4,4,5)
d <- c(2,2,4,4,5)
e <- c(1,5,3,2,5)

df <- data.frame(a,b,c,d,e)
第3行和第4行在向量d(组合为4344)之前完全相同,因此只应返回它们的一个实例,但它们在向量e中有两个不同的值。我想得到这些的一个计数,所以4344的组合在向量e中有两个不同的值

预期输出将告诉我某个组合(如4344)在向量e中有多少次不同的值。因此,在这种情况下,它将类似于:

a b c d   e
4 3 4 4   2
到目前为止,我有这样的想法:

library(tidyr)
library(dplyr)

df %>%
  unite(key_abcd, a, b, c, d) %>%
  count(key_abcd, e)
但这将计算每个a、b、c、d组合重复e的次数。相反,我想计算每个a,b,c,d组合的e不同的次数


注:向量a、b、c、d中存在重复值组合,向量e中存在重复值。对于a、b、c、d的唯一组合,我只想返回e中唯一值的计数

您可以尝试在以下位置添加一点
dplyr

library(dplyr)

df %>%
  unite(key_abcd, a, b, c, d) %>%
  group_by(key_abcd) %>%
  summarise(e = n()) %>%
  filter(e>1)

刚刚执行了查询!同时,一个小问题:我在问题中没有提到的是,向量a,b,c,d中的值的组合有一些重复记录。对于向量a、b、c、d中的值的不同组合,您会添加什么来仅获取向量e中不同值的计数?可能
df%%>%distinct%%>%count(a、b、c、d)%%>%filter(n>1)
?对于a、b、c、d中的值的每个唯一组合,向量e中也有重复的值。我怎样才能得到e中每个a、b、c、d的唯一组合的唯一值的计数?嗨,jeremycg。那么,你知道我如何避免从向量abcd中获取重复项以及对应于abcd中每个组合的向量e的重复项吗?我认为这可以完成工作,但不确定:
df%%>%unite(键abcd,a,b,c,d)%%>%group_by(键abcd)%%>%Summary(e=n_distinct(e))%%>%filter(e>1)
。我的另一个问题是问e中的重复值,这个问题是问e中的不同值。在将文章标记为重复文章之前,也许你应该更好地阅读问题的标题。@RichardScriven-注意两个问题中的数据帧是如何不同的。在第一个问题中,组合4344在e“3”和“3”中有2个相同的值。在该数据帧中,组合4344在e、“2”和“3”中具有2个不同的值。在我的情况下,e中重复的和不同的值意味着我想要分析的完全不同的东西。你帮不了多少忙
library(dplyr)

df %>%
  unite(key_abcd, a, b, c, d) %>%
  group_by(key_abcd) %>%
  summarise(e = n()) %>%
  filter(e>1)