2017-03-14 1 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 인 bernoulli 확률 변수입니다. 지금까지 나는 이렇게했다 :

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