相关疑难解决方法(0)

两个或多个字段/变量的R等效于SELECT DISTINCT

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

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

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

uniques <- as.data.frame(ftable(df$var1, df$var2))
Run Code Online (Sandbox Code Playgroud)

sql r dataframe

26
推荐指数
3
解决办法
5万
查看次数

在 r 中合并数据框和查找表,保留数据框中的所有记录

我有一个 59720 ob​​s 的数据框。看起来像下面。我想为查找表中的每个观察值分配一个 MARKETNAME。

> data (a)

     DAY  HOUR LEAD Row.Count     DATE    ITIME  HOMEPHONE            CITY  STATE ZIPCODE     ZONENAME
1 Monday 13:00    1      9430 7/1/2013 13:42:51            FORT LAUDERDALE     FL  33315       68
2 Monday 13:00    1      9432 7/1/2013 13:43:50 xxxxx9802x  PLEASANT GROVE     AL  35127       82
3 Monday 13:00    1      9434 7/1/2013 13:46:18 5xxxx85x10      ORO VALLEY     AZ  85737       54
4 Monday  0:00    1      9435 7/1/2013  0:04:34 50xxxx1x364          SPOKANE    WA  99204      211
5 Monday 11:00    1      9436 7/1/2013 11:45:43 951xxxxx20        RIVERSIDE    CA  92507 …
Run Code Online (Sandbox Code Playgroud)

merge r vlookup dataframe

5
推荐指数
1
解决办法
3262
查看次数

如何根据表中的多个列获取唯一记录

请考虑下表:

primaryKey   id    activity   template  creator   created
1            1      3           5         x       2011-10-13
2            2      4           2         y       2011-10-15  
3            2      4           7         z       2011-10-24
4            2      4           7         u       2011-10-29
Run Code Online (Sandbox Code Playgroud)

从这里我想要检索具有唯一组合的记录id,activitytemplate.如果存在两个或更多这些字段的唯一组合,我想采取它们中的第一个.

作为上表数据的一个例子,我需要的输出是

primaryKey   id    activity   template  creator  created
1            1      3           5         x       2011-10-13
2            2      4           2         y       2011-10-15  
3            2      4           7         z       2011-10-24
Run Code Online (Sandbox Code Playgroud)

(因为记录3和4具有相同的组合,我想只记录3,因为它是第一次出现)

我可以使用单个SQL语句执行此操作吗?

sql

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

dataframe ×2

r ×2

sql ×2

merge ×1

vlookup ×1