2012-03-23 107 views
1

假設我有以下數據幀:如何計算行符合條件

Data1 
     X1  X2 
1  15  1 
2  3  1 
3  7  0 
4  11  1 
5  1  0 
6  9  0 
7  18  0 
8  6  1 
9  3  1 

我想知道如何找到觀察的總數,其中X1大於9 X2等於1 ?

我想我需要使用sum(),但是我不知道要在括號中加什麼。

回答

3
data1=' 
     X1  X2 
     15  1 
     3  1 
     7  0 
     11  1 
     1  0 
     9  0 
     18  0 
     6  1 
     3  1' 



data1=read.table(text=data1,header=T)  

1)

nrow(data1[data1$X1 > 9 & data1$X2 ==1,]) 

2)

sum(data1$X1 > 9 & data1$X2 ==1) 

3)

With data.table: 

dataDT = data.table(data1) 
dataDT[X1 > 9 & X2 == 1, .N] 
+0

感謝您的快速答覆!我喜歡nrow的第一個答案。我可以很容易地用summary()替換nrow()來獲得關於這組觀察值的更多統計數據。再次感謝! – Travis 2012-03-23 06:03:30