R 寻找仅当一列的所有唯一值都可用于另一列的唯一值时才能从数据集提取数据的代码
我在R中寻找一个代码,只有当一列的所有唯一值都可用于另一列的唯一值时,我才能从数据集中提取数据。例如:R 寻找仅当一列的所有唯一值都可用于另一列的唯一值时才能从数据集提取数据的代码,r,R,我在R中寻找一个代码,只有当一列的所有唯一值都可用于另一列的唯一值时,我才能从数据集中提取数据。例如: Student Month Total a Jan 58 b Jan 48 c Jan 89 a Feb 58 b Feb 48 a Mar 58 b Mar 48 c Ma
Student Month Total
a Jan 58
b Jan 48
c Jan 89
a Feb 58
b Feb 48
a Mar 58
b Mar 48
c Mar 89
该代码仅能提取所有月份分数可用的学生的数据。换句话说,如果所有月份的标记都不可用,它应该删除数据
谢谢!
Kalo我们可以使用
数据表。将“data.frame”转换为“data.table”(setDT(df)
),按“Student”分组,
使用OP显示的示例,只有3'个月的数据,因此应该是
setDT(df)[, if(uniqueN(Month)==uniqueN(df[["Month"]])) .SD , by = Student]
# Student Month Total
#1: a Jan 58
#2: a Feb 58
#3: a Mar 58
#4: b Jan 48
#5: b Feb 48
#6: b Mar 48
数据
df我们可以使用data.table
。将“data.frame”转换为“data.table”(setDT(df)
),按“Student”分组,
使用OP显示的示例,只有3'个月的数据,因此应该是
setDT(df)[, if(uniqueN(Month)==uniqueN(df[["Month"]])) .SD , by = Student]
# Student Month Total
#1: a Jan 58
#2: a Feb 58
#3: a Mar 58
#4: b Jan 48
#5: b Feb 48
#6: b Mar 48
数据
df高。。谢谢你的快速回复。这真的很有帮助。获取上述代码帮助的最佳方式是什么。。或者在R?Hi.中的基本功能。。谢谢你的快速回复。这真的很有帮助。获取上述代码帮助的最佳方式是什么。。还是R中的基本函数?
df <- structure(list(Student = c("a", "b", "c", "a", "b", "a", "b",
"c"), Month = c("Jan", "Jan", "Jan", "Feb", "Feb", "Mar", "Mar",
"Mar"), Total = c(58L, 48L, 89L, 58L, 48L, 58L, 48L, 89L)),
.Names = c("Student", "Month", "Total"), class = "data.frame",
row.names = c(NA, -8L))