亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

交替,交織或交織兩個向量

交替,交織或交織兩個向量

梵蒂岡之花 2019-12-06 10:15:18
我想交織相同模式和相等長度的兩個向量。說:a <- rpois(lambda=3,n=5e5)b <- rpois(lambda=4,n=5e5)我想交織或交織這兩個向量,以創建一個等效的向量 c(a[1],b[1],a[2],b[2],...,a[length(a)],b[length(b)])我的第一次嘗試是:sapply(X=rep.int(c(3,4),times=5e5),FUN=rpois,n=1)但是它需要rpois被調用的次數遠遠超過了需要。到目前為止,我最好的嘗試是將其轉換為矩陣,然后重新轉換為向量:d <- c(rbind(rpois(lambda=3,n=5e5),rpois(lambda=4,n=5e5)))d <- c(rbind(a,b))有沒有更好的方法去做呢?還是庫中R有完成相同功能的功能?
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

您的rbind方法應該可以正常工作。您也可以使用


rpois(lambda=c(3,4),n=1e6)

因為R會自動將lambda值向量復制到所需的長度。速度差別不大:


library(rbenchmark)

benchmark(rpois(1e6,c(3,4)),

     c(rbind(rpois(5e5,3),rpois(5e5,4))))



#                                        test replications elapsed relative

# 2 c(rbind(rpois(5e+05, 3), rpois(5e+05, 4)))          100  23.390 1.112168

# 1                      rpois(1e+06, c(3, 4))          100  21.031 1.000000

當然,這種c(rbind(...))方法通常適用于構造交替向量,而其他解決方案特定于rpois或以這種方式復制其參數的其他函數。


查看完整回答
反對 回復 2019-12-06
  • 2 回答
  • 0 關注
  • 701 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號