Почему число элементов не равно при переносе списка в двойной вектор в R - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь ulist количество элементов из списка в удвоение, но я вижу, что количество элементов удваивается с 1000 до 1000000: вот код:

e = runif(1000, min=1, max=10)
t = rpois(1000,lambda = 64.497)
mydata <- lapply(1:1000, function(i) { 
  DU = sample(x=1:3,size = 1,replace = T)
  if(DU==1){
    v=10000
    s=100     
  }
  if(DU==2){ 
    v=7500
    s=50
  }
  if(DU==3){
    v=5000
    s=10
  }    
  nt = v * (s - (t+ e))
})

t_totall = unlist(mydata)    
summary(t_totall)    
length(t_totall)    
length(mydata)

1 Ответ

0 голосов
/ 01 ноября 2018

Проблема решена! Вместо того, чтобы помещать количество выборок в каждый дистрибутив, я поместил только 1 выборку в каждый (runif и rpois), и таким образом каждая итерация будет брать только одну случайную переменную из определенного распределения вместо получения 1000 каждый раз.

mydata <- lapply(1:1000, function(i) { 
  DU = sample(x=1:3,size = 1,replace = T)
  if(DU==1){
    v=10000
    s=100     
  }
  if(DU==2){ 
    v=7500
    s=50
  }
  if(DU==3){
    v=5000
    s=10
  } 

e = runif(1, min=1, max=10)
t = rpois(1,lambda = 64.497)   
  nt = v * (s - (t+ e))
})

t_totall = unlist(mydata)    
summary(t_totall)    
length(t_totall)    
length(mydata)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...