使用dplyr中的distinct函数获取唯一值
我有如下数据使用dplyr中的distinct函数获取唯一值,r,dplyr,R,Dplyr,我有如下数据 library(tibble) df <- tibble(ID = c(100000L, 100000L, 100000L, 100000L, 100001L, 100001L, 100001L, 100001L, 100002L, 100002L, 100002L, 100002L, 100003L, 100003L, 100003L), subject_result2 = c("OTHERPassedTerm1", "OTHERPassedTerm1", "OTHERPa
library(tibble)
df <- tibble(ID = c(100000L, 100000L, 100000L, 100000L, 100001L, 100001L, 100001L, 100001L, 100002L, 100002L, 100002L, 100002L, 100003L, 100003L, 100003L), subject_result2 = c("OTHERPassedTerm1", "OTHERPassedTerm1", "OTHERPassedTerm1", "MATHPassedTerm1", "OTHERPassedTerm1", "OTHERPassedTerm1", "OTHERPassedTerm1", "OTHERFailedTerm1", "OTHERPassedTerm1", "OTHERPassedTerm1", "MATHPassedTerm1", "MATHFailedTerm1", "OTHERPassedTerm1", "MATHPassedTerm1", "OTHERPassedTerm1"))
你能解决我的问题吗?谢谢
预期结果:
#
#1 100000其他已通过的条款1
#2 100000个MATHPassedTerm1
#3 100001其他通行条款1
#4 100001其他故障术语1
#5 100002其他已通过的条款1
#6 100002 MATHPassedTerm1
#7 100002数学故障术语1
#8 100003其他通行条款1
#9 100003 MATHPassedTerm1
您只需要
distinct(df)
# A tibble: 9 x 2
# ID subject_result2
# <int> <chr>
#1 100000 OTHERPassedTerm1
#2 100000 MATHPassedTerm1
#3 100001 OTHERPassedTerm1
#4 100001 OTHERFailedTerm1
#5 100002 OTHERPassedTerm1
#6 100002 MATHPassedTerm1
#7 100002 MATHFailedTerm1
#8 100003 OTHERPassedTerm1
#9 100003 MATHPassedTerm1
distinct(df)
#一个tibble:9x2
#ID主题\u结果2
#
#1 100000其他已通过的条款1
#2 100000个MATHPassedTerm1
#3 100001其他通行条款1
#4 100001其他故障术语1
#5 100002其他已通过的条款1
#6 100002 MATHPassedTerm1
#7 100002数学故障术语1
#8 100003其他通行条款1
#9 100003 MATHPassedTerm1
您可以做的一件事是计算ID和subject\u result2组合的实例
new_df <- df %>%
group_by(ID, subject_result2) %>%
summarise(id = n()) %>%distinct() %>%
select(-id)
new_df
new_df%
分组依据(ID,受试者结果2)%>%
摘要(id=n())%%>%distinct()%%>%
选择(-id)
新德里
我觉得您的代码运行良好。与上面一样,您的预期输出是什么?您所说的“此代码不工作”是什么意思?你有什么错误?如果问题是其他列也消失了,那么您需要指定我们需要如何决定保留哪些行。谢谢,但在我的实际数据中,我有更多的列,因此仅使用distinct不会出现这种情况help@Cina然后请给出一个模仿你的问题的例子。