Re: [程式] 請教R的程式﹍資料處理

看板Statistics作者時間13年前 (2012/05/07 18:06), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/2 (看更多)
不知道這樣寫是不是最有效率,不過還是提供給你參考 AS=read.table("C:\\Users\\User\\Desktop\\1.txt",header = T) AS1=table(AS$ID) namess=names(AS1[AS1>1]) subset(AS, AS$ID %in% namess ) ※ 引述《microcat (微喵)》之銘言: : [軟體程式類別]: : 請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等 : R : [程式問題]: : 資料處理、迴歸、敘述統計、logistic、probit...等 : 資料處理 : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 中(3個月到1年) : [問題敘述]: : 請詳盡敘述遭遇到的問題,可能的話,分點敘述你要處理的流程 : 目前有一筆資料,如下 : NO ID MA FA CD : 1 A 95 48 33.1 : 2 A 77 44 12.9 : 3 B 46 94 10.0 : 4 B 83 17 11.7 : 5 B 54 33 21.2 : 6 C 11 48 54.6 : 7 D 91 31 17.4 : 8 E 66 55 15.3 : 9 E 10 85 16.8 : 10 E 47 97 21.0 : 希望能將資料中,ID重複出現的資料予以保留 : output 如下: : NO ID MA FA CD : 1 A 95 48 33.1 : 2 A 77 44 12.9 : 3 B 46 94 10.0 : 4 B 83 17 11.7 : 5 B 54 33 21.2 : 8 E 66 55 15.3 : 9 E 10 85 16.8 : 10 E 47 97 21.0 : 想請問是否有效率高的寫法! : 能夠分點敘述處理流程,基本上在撰寫程式或者跑統計時是相當有幫助的 : 甚至有經驗的人可以藉此告知你步驟是否錯誤 : [程式範例]: : 雖然張貼程式很可怕,但基本上有些程式還是要張貼才能解決 : 目前的想法是利用 table 找出重複的ID : 然後利用判別的方式,將重複的ID抓取出來 : 但是因為資料有百萬筆,如果每個重複的ID都要進行比對 : 真的是很花時間,所以想請教大家是否有較方便的寫法,謝謝 : 之前在算重複資料的平均,可以用下列的語法 : list1 <- sapply(probe1, tapply, probe1[,1], mean) : 例如上述的資料,就可以算出 : NO ID MA FA CD : 1 A 86 46 23.0 : 2 B 61 48 14.3 : 3 C 11 48 54.6 : 4 D 91 31 17.4 : 5 E 41 79 17.7 : 是否有類似的語法,再請各位幫忙,謝謝 : ----------------------------------------------------------------------------- -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.96.182

05/07 20:11, , 1F
雖然我不是原po 但感謝你的程式! 受益良多!
05/07 20:11, 1F

05/07 20:46, , 2F
foo<-table(AS$ID)
05/07 20:46, 2F

05/07 20:47, , 3F
AS[rep(foo>1, foo),]
05/07 20:47, 3F

05/07 20:54, , 4F
啊,以上是假設data已經sort by id
05/07 20:54, 4F

05/07 23:31, , 5F
大大的感謝,謝謝R大及B大的幫忙
05/07 23:31, 5F
文章代碼(AID): #1FfvwTId (Statistics)
文章代碼(AID): #1FfvwTId (Statistics)