Re: [程式] [R]資料處理問題

看板Statistics作者 (Logistic recrashing)時間12年前 (2012/05/30 21:03), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《ooorrrzzz (orz)》之銘言: : [軟體程式類別]: R : [程式問題]: 資料處理 : [軟體熟悉度]:中(3個月到1年) : [問題敘述]: : 想要計算一些月資料的季平均值 : 想要由「月份」衍生出「季」的欄位 : 假設原始資料為: : int_rate month : 1.2% 01 : 1.5% 02 : 1.8% 03 : 1.6% 04 : 1.3% 05 : 1.2% 06 : 1.4% 07 : ... ... : 希望增加一欄「季」的欄位 : 整理成資料型態為 : int_rate month quarter : 1.2% 01 Q1 : 1.5% 02 Q1 : 1.8% 03 Q1 : 1.6% 04 Q2 : 1.3% 05 Q2 : 1.2% 06 Q2 : 1.4% 07 Q3 : ... ... ... : 嚐試設 Q1=c('01', '02', '03') : 再用if 或是 for 等條件或迴圈方式處理 : 不過都無法正確整理出資料 : 感覺好像很簡單,不過卻想不出什麼解決方案 : 想請教一下是否有什麼方法或函數可以整理這類資料 : 謝謝 x <- gsub("^ *| *$","",as.matrix(你的矩陣)) quarter <- rep(NA,dim(x)[1]) quarter[as.numeric(x[,"month"]) %in% 1:3] <- "Q1" quarter[as.numeric(x[,"month"]) %in% 4:6] <- "Q2" quarter[as.numeric(x[,"month"]) %in% 7:9] <- "Q3" quarter[as.numeric(x[,"month"]) %in% 10:12] <- "Q4" if( any(is.na(quarter)) ) {print("有不是1~12月份的怪資料,請檢察資料");Sys.sleep(10000000000) } result <- cbind(x,quarter=quarter) -- 祭頌后靈的騎士道與白主教穩守黃金鄉 邊境兵躁動自高自大妄入堡壘 黑主教冷靜人格分裂 籠城王與雙子戰塔一籌莫展 掌握無限的魔女喚醒躺下的靈魂 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.239.247 ※ 編輯: gsuper 來自: 140.113.239.247 (05/30 21:08)

05/30 21:11, , 1F
rep(c("Q1","Q2","Q3","Q4"),each=3) 這段指令也可試試
05/30 21:11, 1F

05/30 21:41, , 2F
太感謝了,解決我下午想了好久的問題
05/30 21:41, 2F

05/30 21:43, , 3F
想問一下,我有嚐試用in,不過失敗了,加%%有什麼效果呢
05/30 21:43, 3F

05/30 21:48, , 4F
?match
05/30 21:48, 4F
文章代碼(AID): #1FnXgn2G (Statistics)
文章代碼(AID): #1FnXgn2G (Statistics)