2016-08-19 8 views
0

私は次元10,2を持つ2次元リストオブジェクトを持っています。 各elmentは、2つの変数を持つ8100の観測値を持つdata.frameを保持します。リスト内のdata.framesに対して論理演算を実行

私は、data.framesの各要素で実行するテスト用の論理を含む同じ形状のオブジェクトを取得しようとしています。

は、これまでのところ私は、コードの下にしようとしたが、それは私に、各data.frameための論理を与え、これらの

# sample data: http://www.filedropper.com/sample_1 
# load('sample.Rdata') 

str(temp) 

List of 20 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -223 -224 -203 -198 -214 ... 
..$ Var2: num [1:8100] -178 -178 -178 -178 -178 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -223 -224 -203 -198 -214 ... 
..$ Var2: num [1:8100] -178 -178 -178 -178 -178 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -223 -224 -203 -197 -214 ... 
..$ Var2: num [1:8100] -178 -178 -178 -178 -178 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -223 -223 -203 -197 -214 ... 
..$ Var2: num [1:8100] -177 -177 -177 -177 -177 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -222 -223 -202 -197 -213 ... 
..$ Var2: num [1:8100] -177 -177 -177 -177 -177 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -222 -223 -202 -197 -213 ... 
..$ Var2: num [1:8100] -177 -177 -177 -177 -177 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -222 -223 -202 -196 -213 ... 
..$ Var2: num [1:8100] -177 -177 -177 -177 -177 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -222 -222 -202 -196 -213 ... 
..$ Var2: num [1:8100] -176 -176 -176 -176 -176 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -221 -222 -201 -196 -212 ... 
..$ Var2: num [1:8100] -176 -176 -176 -176 -176 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -221 -222 -201 -196 -212 ... 
..$ Var2: num [1:8100] -176 -176 -176 -176 -176 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
    $ :'data.frame': 8100 obs. of 2 variables: 
..$ Var1: num [1:8100] -133 -134 -113 -108 -124 ... 
..$ Var2: num [1:8100] -88.2 -88.2 -88.2 -88.2 -88.2 ... 
- attr(*, "dim")= int [1:2] 10 2 
- attr(*, "dimnames")=List of 2 
..$ : NULL 
..$ : chr [1:2] "Var1" "Var2" 


test <- function(x) { 
    x > -50 & x < -70 
} 

out = sapply(seq_along(temp), function(x) test(x)) 

答えて

0

内の要素のために私たちはインデックスに基づいて「一時」を取得し、適用する必要はありませんtest。論理行列のlistを返します。 OPオブジェクトの記述に基づいて、すなわち同一のオブジェクトは、同じ次元(?)を有するオブジェクトを意味する。その場合、試してみてください

lapply(seq_along(temp), function(i) test(temp[[i]])) 
+0

はい、私は同じ次元を持つ出力したいと思います。この提案された解は、10,2の代わりに20の要素のリストを与えるが、もちろん容易に変換することができる。 – user255715

+0

@ user255715 'str(temp)'から 'temp'の長さは20で、それぞれ2列のデータセットです。だから、私は10、2のコメントについてはわかりません。 – akrun