[程式] R計算問題

看板Statistics作者 (致命祈願)時間12年前 (2013/03/05 11:05), 編輯推噓8(8010)
留言18則, 4人參與, 最新討論串1/2 (看更多)
[軟體程式類別]: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 符合這三個條件的個數 [程式範例]: 我是這樣寫的 但是跑出來是0...我認為是不可能的.... x<-sum(ifelse(A[,1]<45 & A[,2] %in% c(5:9) & A[,3]==1,1,0)) 結果算出來x=0 想請問板上高手有看出這句程式碼哪裡有錯嗎 冏? ----------------------------------------------------------------------------- -- 「如果昨天到了明天會變成兩天前,試問後天應該是今天或是昨天?」 ~時間操縱緒論期末考 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.83.97

03/05 11:38, , 1F
A[1]==>A[,1] ifelse的括號也有錯吧
03/05 11:38, 1F

03/05 13:03, , 2F
喔喔 沒有 我打在ptt時打錯 程式碼沒錯
03/05 13:03, 2F
※ 編輯: MIZUYAMA 來自: 219.85.83.97 (03/05 13:04) ※ 編輯: MIZUYAMA 來自: 219.85.83.97 (03/05 13:38)

03/05 14:18, , 3F
看不出問題 XD 試試檢查一下資料?
03/05 14:18, 3F

03/05 14:24, , 4F
我懷疑你的資料屬性是character
03/05 14:24, 4F

03/05 17:37, , 5F
%in% c(5,6,7,8,9) 5.1會被排除
03/05 17:37, 5F

03/05 17:40, , 6F
c(5:9)不是5<x<9 而是 5,6,7,8,9
03/05 17:40, 6F

03/06 08:39, , 7F
o大 我就是要56789 我確認是資料問題了 是character
03/06 08:39, 7F

03/06 08:40, , 8F
如果是character 要怎麼解決呢?
03/06 08:40, 8F

03/06 09:32, , 9F
如果你能列個幾筆資料出來可能會比較知道問題在哪
03/06 09:32, 9F

03/06 09:33, , 10F
不過從內文看起來,你的A[,1]該不會是類似"44-"這樣吧?
03/06 09:33, 10F

03/06 09:34, , 11F
是的話,就要用 A[,1] == "44-" 而不是 A[,1] < 44
03/06 09:34, 11F

03/06 11:24, , 12F
blackalert大 44-是簡稱 指小於45的一群數字
03/06 11:24, 12F

03/06 11:25, , 13F
目前確認是A[,2]出問題 用as.numeric似乎還是沒用...
03/06 11:25, 13F

03/06 11:28, , 14F
A[,2]有幾項會夾帶英文 如98A 3E 不過沒差因為不是我要的
03/06 11:28, 14F

03/06 11:28, , 15F
強制轉成數字 生成NA也應該抓的道說~"~
03/06 11:28, 15F

03/06 12:00, , 16F
意外解決的 as.vector....
03/06 12:00, 16F

03/06 18:11, , 17F
可以請問原本A[,2]的mode是甚麼類型嗎?
03/06 18:11, 17F

03/07 10:30, , 18F
%in%前後資料屬性不同的話也會判定為不同的東西
03/07 10:30, 18F
文章代碼(AID): #1HDM3ex1 (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1HDM3ex1 (Statistics)