2016-03-20 16 views
0

私は今、Rを学習しており、SQLのような「どこで」の関数を見つけることができません。私は以下のやろうとしています何R:データのフィルタリングと相関の計算

は(1、2、3として、CSVで表現...)月ごとの温度と湿度との相関関係を計算である

私が以下で使用したコードは、する必要があります冗長データを「メイン」データセットからフィルタリングした後に新しいデータセットを作成し、各データセットの相関を別々に計算します。

airquality <- read.csv("C:/Users/Spitz/Documents/airquality.csv") 

january <- airquality [!airquality$Month %in% c(2,3,4,5),] 
february <- airquality [!airquality$Month %in% c(1,3,4,5),] 
march <- airquality [!airquality$Month %in% c(1,2,4,5),] 
april <- airquality [!airquality$Month %in% c(1,2,3,5),] 
may <- airquality [!airquality$Month %in% c(1,2,3,4),] 

cor(january$Temp, january$Humidity, use="complete.obs") 
cor(february$Temp, february$Humidity, use="complete.obs") 
cor(march$Temp, march$Humidity, use="complete.obs") 
cor(april$Temp, april$Humidity, use="complete.obs") 
cor(may$Temp, may$Humidity, use="complete.obs") 

このように振る舞うだろう機能があるかどうか私は思っていた:

cor(airquality$Temp, airquality$Humidity, where airquality$Month = 1) 
+0

あなたは 'サブセット'機能をお探しですか? – MaxPD

+0

等価性をテストするには '='の代わりに '=='が必要です。 'dplyr :: filter'はSQLの' where'のように動作しますが、おそらく最初にサブセット化することを学ぶべきでしょう。 [Rタグ情報ページ](http://stackoverflow.com/tags/r/info)には多くの優れたリソースがあります。 – alistaire

+0

'which'を試してみると、ヘルプページを開いて – fhlgood

答えて

0

は普通の[を使用してサブセット。

cor(airquality[airquality$Month == 1, c("Temp", "Humidity")]) 
関連する問題