2011-10-12 60 views
1

我有一個應用函數列出元素的問題。我有一個名爲「MYLIST」列表中,它看起來像:R列表函數

[[1]] station global 
     1  2 
     1  2 
     1  2 
     1  14 
     1  38 
     1  169 

[[2]] station global 
     2  2 
     2  2 
     2  23 
     2  86 

在每份名單上,我需要的「全局」小於或等於2的值設置爲NA。 我用

dat.list <- lapply(mylist, ``[[``, 'global') 只拿到全球的數據。

定義自動對焦功能:

fct <- function(x) { 
x[x <= 2] <- NA 
} 

,寫 lapply(dat.list, fct)

[[1]] NA 
[[2]] NA 

我想什麼有是:

[[1]] station global 
     1  NA 
     1  NA 
     1  NA 
     1  14 
     1  38 
     1  169 

[[2]] station global 
     2  NA 
     2  NA 
     2  23 
     2  86 

我apprechiate任何幫助或點在正確的方向,Rega rds Sisse

回答

1

如果您發佈了一個可重複的示例,這將有所幫助。有關如何執行此操作的建議,請參閱here

x將採取列表中的元素。由於這些數據似乎是數據幀,因此將x視爲數據幀:

fct <- function(x) { 
    x$global[x$global <= 2] <- NA 
    x 
}