Re: [程式] R中的if條件
感謝大家的建議
其實一開始最簡單的方法是用for
但是因為真實在跑分析時
v[,1]的長度大約是17萬6000個
也就是說v是一個176000x20up的矩陣
如果這時候用for(i 1:length(v[,1]))是可以跑...
但是會跑非常久~我並不想要這樣
而A,B兩運算是要把v[,1]重新編程一個號碼 只是規則不同
有想過用ifelse但似乎是失敗了
ifelse(v[,1]==a,A,B)
分析上 A運算是:v[i,1]-a
B運算是:12-a+v[i,1]
所以我當初是寫成: ifelse(v[,1]==a,v[i,1]-a,12-a+v[i,1])
但是不能跑..
莫非是ifelse裡面不能用邏輯算式?
還有是recodes指令...
我的R只接跟我說沒有這個指令 囧
所以我在想是否還有其他的方法~"~
: [軟體程式類別]:
: R
: [程式問題]:
: if條件問題
: [軟體熟悉度]:
: 低(1~3個月)
: [問題敘述]:
: v是一個矩陣
: a是一個我們任意給的數(已知)
: 今天我希望v中的某行(假設第一行) 中的各元素做是否等於a的判斷運算
: 我希望能在不用for下 完成我想要的運算
: 但是一直想不出
: [程式範例]:
: 以下為大略範例
: >test<-function(v,a){
: +if(v[,1]==a){執行A運算}
: +else{執行B運算}}
: Warning message:
: In if (a == v[, 1]) { :
: 條件的長度 > 1,因此只能用其第一元素
: ===
: 想請問高手能有辦法步用for的狀況下
: 比對v[,1]中的元素是否等於a做邏輯運算嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.241.25.242
※ 編輯: piq 來自: 111.241.25.242 (03/20 21:24)
※ 編輯: piq 來自: 111.241.25.242 (03/20 21:26)
推
03/20 21:33, , 1F
03/20 21:33, 1F
→
03/20 23:06, , 2F
03/20 23:06, 2F
→
03/20 23:06, , 3F
03/20 23:06, 3F
→
03/20 23:07, , 4F
03/20 23:07, 4F
推
03/20 23:08, , 5F
03/20 23:08, 5F
→
03/20 23:08, , 6F
03/20 23:08, 6F
→
03/20 23:08, , 7F
03/20 23:08, 7F
→
03/20 23:08, , 8F
03/20 23:08, 8F
→
03/20 23:15, , 9F
03/20 23:15, 9F
推
03/21 00:21, , 10F
03/21 00:21, 10F
→
03/21 00:22, , 11F
03/21 00:22, 11F
→
03/21 00:22, , 12F
03/21 00:22, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
程式
5
36
以下文章回應了本文 (最舊先):
程式
0
2
程式
1
1
完整討論串 (本文為第 2 之 5 篇):
程式
0
2
程式
0
1
程式
1
1
程式
3
12
程式
5
36