当前位置: 首页 > 面试题库 >

与两个或多个字段/变量上的SELECT DISTINCT等效

关胜
2023-03-14
问题内容

假设我有一个包含两列或更多列的数据框df,有没有一种简单的方法可以使用unique()或其他R函数来创建两列或更多列的唯一组合的子集?

我知道我可以使用sqldf()和编写一个简单的"SELECT DISTINCT var1, var2, ... varN"查询,但是我正在寻找一种R的方式来做到这一点。

想到 尝试将 ftable 强制转换为 数据 并使用字段名称,但是我也得到了数据集中不存在的组合的交叉表:

uniques <- as.data.frame(ftable(df$var1, df$var2))

问题答案:

unique工程,data.frame所以unique(df[c("var1","var2")])应该是你想要的。

另一个选择是distinctdplyrpackage:

df %>% distinct(var1, var2) # or distinct(df, var1, var2)

笔记:

对于较旧版本的dplyr(<
0.5.0,2016-06-24 )distinct需要执行附加步骤

df %>% select(var1, var2) %>% distinct

(或古老的方式distinct(select(df, var1, var2)))。



 类似资料:
  • 问题内容: 我正在使用JPA 2.0 /hibernate验证来验证我的模型。我现在遇到一种情况,必须验证两个字段的组合: 该模型是无效的,如果都和都null和其他有效。 如何使用JPA 2.0 / Hibernate执行这种验证?使用简单的注释,两个吸气剂都必须为非null才能通过验证。 问题答案: 对于多属性验证,应使用类级别的约束。摘自 Bean Validation Sneak Peek第

  • 我得到了。ORA-1722向过程传递一个单个变量而不是一个数字(如54,55,56)时出错。 在过程光标块中,我写了: 运行该过程时,错误出现在上面的 select 语句中。 有没有办法在单个参数中处理这种情况

  • 是否有更简单的方法来确定变量是否等于一系列值,例如: 而不是像这样迟钝的事情: ?

  • 问题内容: 我想知道是否有某种方式可以在两个或多个Servlet之间共享变量或对象,我的意思是某种“标准”方式。我认为这不是一个好习惯,但是是构建原型的更简单方法。 我不知道这是否取决于所使用的技术,但我将使用Tomcat 5.5 我想共享一个简单类的对象的Vector(仅公共属性,字符串,int等)。我的意图是在数据库中拥有一个静态数据,当Tomcat停止时,它显然会丢失。(仅用于测试) 问题答

  • 我试图创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串。我想知道是否有办法将其翻译成Python。那么说: 它将返回以下列表: 这样的事情可能吗?

  • 本文向大家介绍浅谈python函数调用返回两个或多个变量的方法,包括了浅谈python函数调用返回两个或多个变量的方法的使用技巧和注意事项,需要的朋友参考一下 以元祖形式返回  return (a,b,......) 以元祖引用或(x,y,....)接受都可以 为什么不能用列表返回?? 与java一样,列表等属于可变数据类型——由指针指向数据本身。 如果返回列表,其实质是返回列表引用,列表引用本可