gpt4 book ai didi

r - R 中的 SQLDF 左连接

转载 作者:行者123 更新时间:2023-12-05 01:08:40 33 4
gpt4 key购买 nike

我的目标是采用 'matr',按列 c1 对其进行排序,并保持 unique(c1) where c2 = 1。例如,从这段代码...

c1 = c("a",'a','a','b','b','b','b','c','c')
c2 = c(1,1,0,1,1,0,1,0,0)
matr = as.data.frame(cbind(c1,c2))
one = sqldf('select distinct(c1),c2 from matr where c2 = 1')
vs = sqldf('select distinct(c1),c0,c2 from matr group by c1')
sqldf('select matr.*,one.* from matr
left outer join one
where one.c1 = matr.c1')

到达:
c1 c2
a 1
b 1
c 0

出于某种原因,我在左连接中丢失了第 c 行。我只能到达(通过其他连接)
c1 c2
a 1
b 1

最佳答案

你要on而不是 where在最后一个 sql 语句中。与 where它正在执行连接,然后应用 where条款而与 on它相对于 on 进行连接健康)状况。

> sqldf('select matr.*, one.* from matr left outer join one on one.c1 = matr.c1')
c1 c2 c1 c2
1 a 1 a 1
2 a 1 a 1
3 a 0 a 1
4 b 1 b 1
5 b 1 b 1
6 b 0 b 1
7 b 1 b 1
8 c 0 <NA> <NA>
9 c 0 <NA> <NA>

关于r - R 中的 SQLDF 左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825564/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com