r - 通过连接合并到数据集 - 在一个表中删除双精度值
问题描述
我有两个小标题:
a <- tibble(month=c("Jan", "Feb", "Jan", "Feb"),
x=c(1,1,2,2))
b <- tibble(x=c(1,2,1,2),
y=c("a", "b", "c", "d"),
z=c("m", "n", "m", "n"))
我想加入。但是,我对 variable 提供的附加信息不感兴趣y
;我知道对于 中的任何值x
, 中只有一个值z
。所以,期望的结果是:
# A tibble: 4 x 3
month x z
<chr> <dbl> <chr>
1 Jan 1 m
2 Feb 1 m
3 Jan 2 n
4 Feb 2 n
但使用left_join,所有值“双”:
> left_join(a, b, by="x")
# A tibble: 8 x 4
month x y z
<chr> <dbl> <chr> <chr>
1 Jan 1 a m
2 Jan 1 c m
3 Feb 1 a m
4 Feb 1 c m
5 Jan 2 b n
6 Jan 2 d n
7 Feb 2 b n
8 Feb 2 d n
这当然是可以理解的,但 - 在我的情况下 - 不受欢迎。我尝试使用 折叠表格group_by(month) %>% summarise(z=z)
,但这不起作用,因为汇总似乎无法处理因素。什么是解决方案?
解决方案
答案是(在这里找到):
a %>%
left_join(b %>%
select(x, z) %>%
unique())
推荐阅读
- mercurial - hg notify 在推送时给出“中断”
- php - 我使用哪个 API 来获取物品尺寸并从 ebay 订单的地址发货
- php - 使用 PHP 和 jQuery 从 MySQL 获取数据并显示在与用户 ID 匹配的 HTML 表中
- arrays - 用 replaceSubrange 修改 ArraySlice
- batch-file - 如何修复嵌套在 if 语句中的 Echo 命令
- c++ - 将模板化对象存储在向量中(存储类
, 班级 在单个向量中) - php - 如何从 Sabre API 获取酒店价格和重定向 url
- safari - Safari 12 在重定向 302 的情况下不缓存大资产,如果直接添加到页面中它可以正常工作吗?
- .net - 从 Postman 将用户添加到 Keyclock
- android - Android从FrameLayout获取孩子