2014-06-14 140 views
0

一列中的下列數據幀被轉換成動物園對象如何選擇包含特定值

Lines <- "Ctry year Carx Brx 
A 2000 23  12 
A 2001 18  16 
A 2002 20  20 
A 2003 NA  18 
A 2004 24  NA 
A 2005 18  12 
B 2000 NA  22 
B 2001 NA  20 
B 2002 NA  14 
B 2003 NA  NA 
B 2004 18  NA 
B 2005 16  14 
C 2000 NA  NA 
C 2001 NA  25 
C 2002 24  32 
C 2003 21  NA 
C 2004 NA  15 
C 2005 24  20 
" 
DF <- read.table(text = Lines, header = TRUE) 


    Carx.z <- read.zoo(DF[, -4], split = "Ctry", index = "year", FUN = identity) 

這裏是動物園對象串聯CARX

Carx.z

的結果
 A B C 
    2000 23 NA NA 
    2001 18 NA NA 
    2002 20 NA 24 
    2003 NA NA 21 
    2004 24 18 NA 
    2005 18 16 24 

如何選擇「Ctry」(即A,B或C),如果其2005年的值小於或等於等於20?我的意思是,如果2005年的值爲< = 20,請選擇相關列

+1

這不是輸出I得到'Carx.z'當我運行你的代碼,但無論如何:' Carx.z [,Carx.z ['2005'] <= 15]'。這是一個邏輯向量的基本子集。 – jbaums

+0

好的,以及我上面的評論仍然適用..只需將15改爲20.這是不是你所需要的? – jbaums

+0

這就是我想要的,謝謝jbaums –

回答

0

通常的子集規則適用於此處。我們要返回其Carx.z['2005', ] <= 20TRUE列,所以下面的嵌套子你想要做什麼:

Carx.z[, Carx.z['2005', ] <= 20] 

#  A B 
# 2000 23 NA 
# 2001 18 NA 
# 2002 20 NA 
# 2003 NA NA 
# 2004 24 18 
# 2005 18 16 
相關問題