Re: [程式] R 利用for做變數宣告

看板Statistics作者 (Robin)時間10年前 (2013/10/18 12:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
那請問如果我想開始使用y0~y9的話是要怎麼使用呢? 例如 boxplot(y0$x~y0$y) boxplot(y1$x~y1$y) ... boxplot(y9$x~y9$y) 另外 list.x為宣告一個空白list 在for迴圈裡面的length(list.x)會隨著i跑嗎? 有點想不透這一行 謝謝指教 ※ 引述《BugEater (無庸)》之銘言: : 試試下面這個應該可行 : z=paste("y",0:9,sep="") : ye=c(2000:2009) : list.x<-list() : for ( i in 1:10 ) : { : list.x[[length(list.x)+1]] <- x[year == ye[i],] : } : names(list.x)<-z : attach(list.x) : ※ 引述《robin112 (Robin)》之銘言: : : [軟體程式類別]:R : : 請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等 : : [程式問題]:資料處理 : : 資料處理、迴歸、敘述統計、logistic、probit...等 : : [軟體熟悉度]: : : 低(1~3個月) : : [問題敘述]: : : 想使用for做變數的宣告 : : [程式範例]: : : 有一筆年份2000~2009年的data : : 想依年份將data切割成下面這樣 : : y0=x[year == "2000" , ] : : y1=x[year == "2001" , ] : : ... : : y9=x[year == "2009" , ] : : 想說是否可以用for迴圈將y0~y9宣告出來 : : 以下是我寫的程式: : : z=paste("y",0:9,sep="") : : ye=c(2000:2009) : : for ( i in 0:9 ) : : { : : z[[i]]=x[year == "ye[i+1]" , ] : : } : : 會跑出: : : 錯誤在z[[i + 1]] = x[year == "ye[i+1]", ] : : : 用來替換的元素比所要替換的值多 : : 小弟有點菜,希望各位指教,謝謝! : : ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.85.231
文章代碼(AID): #1IOBbYl5 (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1IOBbYl5 (Statistics)