2017-03-14 3 views
0

の別の列に応じて、列を追加する私は、リストの各要素と別の列z <- rbinom(2,1,y)を追加するRリストオブジェクト

dl <- list(matrix(c(1,5,.2,.7), nrow=2,dimnames=list(c(),c("x","y"))), matrix(c(0,1,.01,.4), nrow=2,dimnames=list(c(),c("x","y")))) 

にリストオブジェクトを持っています。つまり、zは、確率ベクトルが各リストのyであるベルヌーイ確率変数です。これまでのところ、私はしました:

a=dl[[1]] 
a=data.frame(a) 
a$z <- with(a, rbinom(2,1,y)) 

b=dl[[2]] 
b=data.frame(b) 
b$z <- with(b, rbinom(2,1,y)) 

しかし、このコードは面倒です。

答えて

1

これはあなたが探しているものですか?

> lapply(dl,FUN=function(mat) z <- cbind(mat,rbinom(2,1,mat[,2]))) 
[[1]] 
    x y 
[1,] 1 0.2 0 
[2,] 5 0.7 0 

[[2]] 
    x y 
[1,] 0 0.01 0 
[2,] 1 0.40 1 
+0

はい、ただし、列名を 'z'として追加する方法はありますか? – ABC

+1

おそらく、 'lapply(dl、FUN = function(mat)cbind(mat、z = rbinom(2,1、mat [、2])))' –

+0

@RonakShahありがとう、ありがとう。 – ABC

関連する問題