0

次のような data.frame があることを確認してください。

str(veh)
$VEHAGE  int  3 6 35 35 5 3 7 4 5 1 ...
$VEHTYPE int  2 1 3 1 2 3 1 4 2 3 ...

それから私は走ります

a<-sqldf("SELECT VEHAGE, COUNT(VEHAGE) as count1
                             FROM veh 
                             WHERE VEHTYPE==1
                             GROUP BY VEHAGE")


a<-sqldf("SELECT VEHAGE, COUNT(VEHAGE) as count234
                             FROM veh 
                             WHERE VEHTYPE==2|3|4
                             GROUP BY VEHAGE")

このような結果が得られます

head(a)
  VEHAGE count234
1     -9     92
2      1     79
3      2    164
4      3    212
5      4    260
6      5    199

この場合、count1 を失いました。でもこんな頭が欲しい

  VEHAGE count1   count234
1     -9     92    510
2      1     79    844
3      2    164    123
4      3    212    123
5      4    260    100
6      5    199    100

何か案が?前もって感謝します!

4

2 に答える 2

2

私はあなたがこれを探していると思います:

# first query
a <- sqldf("SELECT VEHAGE, COUNT(VEHAGE) as count1
                             FROM veh 
                             WHERE VEHTYPE==1
                             GROUP BY VEHAGE")

# second query
b <- sqldf("SELECT VEHAGE, COUNT(VEHAGE) as count234
                             FROM veh 
                             WHERE VEHTYPE IN (2, 3, 4)
                             GROUP BY VEHAGE")

# combine
a <- sqldf("SELECT * 
            FROM a JOIN b
            USING (VEHAGE)")
于 2014-02-14T19:21:34.083 に答える