看板 Statistics 關於我們 聯絡資訊
※ 引述《MIZUYAMA (致命祈願)》之銘言: : [軟體程式類別]:R : [程式問題]: : 單純計算問題 只是想不出程式碼哪裡有錯 : [軟體熟悉度]: : 中(3個月到1年) : [問題敘述]: : 舉例 有個100*3的矩陣A : A[,1]分於三個部分 44- ,45~64,65+ : A[,2]則是1~10隨機 : A[,3] =1 or 2 : 我要計算 A[,1] 小於等於44 (44-) : A[,2] 介於5~9 : A[,3] 等於1 : 符合這三個條件的個數 你是要找同時符合這三個條件的列有幾個嗎? index <- which(A[,1] <= 44 & A[,2] >= 5 & A[,2] <= 9 & A[,3] == 1) A(index,) length(index) 這樣大概就夠之後的操作了. 如果要再短一點, sum(A[,1] <= 44 & A[,2] >= 5 & A[,2] <= 9 & A[,3] == 1) 就可以了. -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.117.116
MIZUYAMA:那我想請問為何我原本的code不行呢? 03/05 13:05
andrew43:ifelse(condition, 1, 0) 多括號了 03/05 13:19
andrew43:另外, true本來就是1, false本來就是0, 有點多此一舉 03/05 13:20
MIZUYAMA:不輸入1,0 R說缺少引數 也沒有預設值 03/05 13:37
blackalert:意思是其實不用ifelse,直接把你條件式sum起來就好了 03/05 14:12
blackalert:雖然加了也是ok啦... 03/05 14:13