Statistics 板


LINE

[軟體程式類別]: R [程式問題]: 資料處理 [軟體熟悉度]: 新手(不到1個月) [問題敘述]: 我想把我的data變成矩陣 所以我先將data轉成matrix後刪掉前3個column 就是我想要的矩陣 然後將矩陣中所有的3跟4改成1 5改成NA 疑問是我試了兩種方法 第一種方法就土法煉鋼 自己先把column用cbind黏起來變成矩陣 genodat<-read.table("p1_mrk_001_mo.txt",header=FALSE) SNP<-cbind(genodat[,4],genodat[,5],genodat[,6],genodat[,7],genodat[,8], genodat[,9],genodat[,10],genodat[,11],genodat[,12],genodat[,13],genodat[,14] ,genodat[,15],genodat[,16],genodat[,17],genodat[,18],genodat[,19],genodat[,20] ,genodat[,21],genodat[,22],genodat[,23],genodat[,24],genodat[,25],genodat[,26] ,genodat[,27],genodat[,28],genodat[,29],genodat[,30],genodat[,31],genodat[,32] ,genodat[,33],genodat[,34],genodat[,35],genodat[,36],genodat[,37],genodat[,38] ,genodat[,39],genodat[,40],genodat[,41],genodat[,42],genodat[,43],genodat[,44] ,genodat[,45],genodat[,46],genodat[,47],genodat[,48],genodat[,49],genodat[,50] ,genodat[,51],genodat[,52],genodat[,53]) SNP[which(SNP==3)]<-1 SNP[which(SNP==4)]<-1 SNP[which(SNP==5)]<-NA 這個方法成功了 可是以後我要黏的column有上萬個 總不能一個一個打吧QQ 我試過SNP<-genodat[,4:53]可是失敗 第二個方法 我先將整個資料直接轉成矩陣然後去掉前三個column genodat<-as.matrix<-read.table("p1_mrk_001_mo.txt",header=FALSE) genodat<-genodat[,-1] genodat<-genodat[,-1] SNP<-genodat[,-1] 到這裡我成功得到我要的矩陣 但是下面改資料的步驟卻失敗了 SNP[which(SNP==3)]<-1 SNP[which(SNP==4)]<-1 SNP[which(SNP==5)]<-NA Error in `[<-.data.frame`(`*tmp*`, which(genodat == 3), value = 1) : new columns would leave holes after existing columns 我不知道第二個方法錯在哪裡以至於我無法得到第一個方法的結果 麻煩大家指點迷津 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 193.170.62.226
1F:推 blackalert:首先,genodat[,4:53] 應該要可以才對... 05/02 20:18
2F:→ blackalert:其次,as.matrix是一個函數,用法是as.matrix(genodat) 05/02 20:20
3F:→ d2389758:我用genodat[,4:53]他就顯示undefined columns selected 05/02 23:41
4F:→ d2389758:所以在方法一使用失敗 05/02 23:45
5F:→ d2389758:不過我用第二種方法然後用as.matrix(genodat) 05/02 23:46
6F:→ d2389758:結果可以用genodat[,4:53] 可是改資料還是失敗 05/02 23:46
7F:→ andrew43:是否確定原始檔內所有資料都是數字及個數相等? 05/03 00:55
8F:→ d2389758:都是數字沒錯 column長度也一樣(個數是在說這個嗎?) 05/03 01:01
9F:→ clickhere:which 是多餘的, which(SNP=1) 會拿到整個vector 05/03 01:57
10F:→ clickhere:改用scan取代read.table. 用 matrix() 轉成矩陣 05/03 01:58
11F:→ clickhere:用 dim(genodat) 檢查維度是否正確. str(genodat) 05/03 01:59
12F:→ clickhere:可以得知 genodat 的結構. 05/03 02:00
13F:推 memphis:要用which也可以 arr.ind 要開 05/03 16:52
14F:→ moonbat:data=as.matrix(read.table("p1_mrk_001_mo.txt")) 05/03 18:10
15F:→ moonbat:newdata=data[,4:length(data[1,])] 05/03 18:10
16F:→ moonbat:newdata[which(newdata)==3]=1 05/03 18:12
17F:→ moonbat:newdata[which(newdata)==4]=1 05/03 18:13
18F:→ moonbat:newdata[which(newdata)==5]=NA 05/03 18:13
19F:→ moonbat:應該這樣就可以吧@@ newdata就是你要的 05/03 18:13
20F:→ gsuper:I服了U 05/03 18:25
21F:→ d2389758:感謝!我來試試看!!!! 05/03 21:24
22F:→ d2389758:moonbat方法我用失敗了 感謝clickhere!!! 05/04 05:54
※ 編輯: d2389758 來自: 193.170.62.226 (05/04 05:58)
23F:→ d2389758:不過我用其他方法然後用which開arr.ind也失敗 05/04 05:59
24F:→ clickhere:newdata[newdata==3]<-1 即可. which不是這樣用的. 05/04 07:18
25F:→ moonbat:多謝樓上大人指正!!!感謝!!! 05/04 08:26
26F:→ moonbat:回d大 我不太懂你說的"用which開arr.ind"的意思? 05/04 08:35
27F:推 memphis:lala <- matrix(1:25, nrow=5) 05/04 11:32
28F:→ memphis:lala[which(lala==13, arr.ind=T)] <- 100 05/04 11:33
29F:→ moonbat:了解...囧 原來是在說這個,感謝樓上大人!! 05/04 11:34
30F:→ memphis:要在矩陣裡用which, which輸出要改成 array index type 05/04 11:35
31F:→ memphis:不過如clickhere所說 多此一舉 用判斷產生的T/F矩陣就ok 05/04 11:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP