Re: [問題] for迴圈問題請教
※ 引述《jasonfghx (工人)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
: [問題敘述]:
: lib<-c(100,5,10)
: com<-c(5,100,6)
: tea<-c(10,6,100)
: 現在我有這三個向量 lib com tea 都要拿出其中一個相加
: for(i in 1:3){
: for(j in 1:3){
: for(k in 1:3){
: a<-lib[i]+com[j]+tea[k]
: b[k]<-lib[i]+com[j]+tea[k]
: print(a)
: }
: }
: }
: 我主要想請教我得到了27個數據可以怎麼做把它存成一個矩陣?
: 因為實際上我的問題會是七個向量
: 每個向量有七個數字
: 謝謝回復
: [程式範例]:
: [關鍵字]:
: for 迴圈
for做法:
out <- matrix(NA, length(lib) * length(com) * length(tea), 1)
idx <- 1
for(i in 1:3){
for(j in 1:3){
for(k in 1:3){
out[idx] <- lib[i] + com[j] + tea[k]
idx <- idx + 1
}
}
}
expand.grid做法1:
rowSums(expand.grid(lib, com, tea))
expand.grid做法2: (把全部弄成list之後,用do.call,這方法比較容易延伸到多個向量)
eleList <- list(lib, com, tea)
rowSums(do.call(expand.grid, eleList))
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.103.166
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1523274810.A.F53.html
推
04/09 19:55,
7年前
, 1F
04/09 19:55, 1F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章