2016-03-20 31 views
0

Şu an R öğreniyorum ve bir 'nerede' işlevini (SQL'de olduğu gibi) bulmakta takılıyorum.R: filtreleme verileri ve korelasyon hesaplaması

Ne aşağıda yapmaya çalışıyorum aşağıda kullandım kod zorundadır (..., 2, 1 olarak csv 3 gösterilen)

her ay için sıcaklık ve nem arasındaki korelasyonu hesaplamak Yedek veriyi 'ana' veri kümesinden filtreledikten sonra yeni bir veri kümesi oluşturun ve ardından her veri kümesi için korelasyonu ayrı ayrı hesaplayın.

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") 

böyle davranır bir işlev olup olmadığını sadece merak:

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

'subset' işlevini mi arıyorsunuz? – MaxPD

+0

Eşitliği test etmek için '=' yerine '==' gerekir. 'dplyr :: filter' bir SQL' '' 'gibi çok çalışıyor, fakat muhtemelen ilk önce alt kümeyi öğrenmelisiniz. [R etiketi bilgi sayfası] 'nda çok sayıda iyi kaynak var (http://stackoverflow.com/tags/r/info). – alistaire

+0

'yi deneyin, bir yardım sayfasını açabilir ve öğrenebilirsiniz. – fhlgood

cevap

0

Aynı normal [ kullanarak alt küme.

cor(airquality[airquality$Month == 1, c("Temp", "Humidity")])